World of *Nix

by S. M. Ibrahim (lavluda)
জুন 15th, 2007

how to enable mod_rewrite in apache2.2 (debian/ubuntu)

Here i am going to describe how to enable mod_rewrite in apache2.2 -specaily for debian.

In default installion of apache2.2 on debian never enable mod_rewrite default. So you may need to enable .

First install the apache2.2 with this command :
debian user please use “su” before start this process
ubuntu user please use “sudo su” before start this process

apt-get install apache2 (it will install apache 2.2)

now use locate to find if the mod_rewrite.so is availble on your server

updatedb
locate mod_rewrite.so

it will found in “/usr/lib/apache2/modules”

new apache follow some folders to enable and desuable mods.
so now do this:

cd /etc/apache2/mods-enabled
touch rewrite.load
gedit rewrite.load (you may use any editor to edit this file)

now paste this following line

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

Then edit /etc/apache2/sites-available/000-default

Find the following

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

and change it to

Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all

and finally restart Apache

/etc/init.d/apache2 restart

OK, you done :D

don’t forget to comment, if it works or not.

thanks.

Share/Save/Bookmark

Related posts:

  1. Website optimization 02: enable deflate /output compression (debian/ubuntu) On the first post of this series we learned how...
  2. how to move your php development environment to linux (Debian/Ubuntu) Nowadays, lots of php developers are thinking to move their...
  3. Website Optimization 01: disable ETag in apache (debian/ubuntu) From last few months i am working to optimize our...
  4. install imagemagick support to your debian/ubuntu server imagemagick is one of the best library to work with...
  5. Installing ttf fonts on Debian or Ubuntu Linux Here is the simple step to install ttf font on...

Related posts brought to you by Yet Another Related Posts Plugin.

42 Responses to “how to enable mod_rewrite in apache2.2 (debian/ubuntu)”

  1. Whoa!!

    Excellent work Lavlu, much appreciated. This was one of my major problem even few days ago. I just think why didnt you write this article that time.

    :D

    Very good work. Keep it on.

  2. Or more simpler, just do :
    sudo a2enmod rewrite && sudo invoke-rc.d apache2 restart

  3. thanks ebzao. it works :)

  4. [...] how to enable mod_rewrite in apache2.2 (debian/ubuntu) [...]

  5. Worked like a charm! Thanks for posting this. :)

  6. [...] to this explanation of how to fix [...]

  7. thank bro…it works…

  8. Dear Lavluda

    I want pdf of your how to move your php development environment to linux (Debian/Ubuntu) .

  9. Thanks!! Simple and elegant solution!

  10. Excellent!!, finally find perfect and simple solution..

    Thanks!
    Thanks a lot.

  11. hey, thanks a lot man. Great job, couldn’t have been put simpler

  12. Thank you very much it works ;) One comment. I’ve found you through google and google sais to me that you are dangerous here is the link look yourself http://www.google.gr/interstitial?url=http://www.lavluda.com/2007/07/15/how-to-enable-mod_rewrite-in-apache22-debian/

    I don’t think that your blog is dangerous. You can complain about that.

  13. thank you very much :)

  14. Works like a charm! Enabled it on Ubuntu 8.04 Server. Thanks!!

  15. Thnx Thnx :D
    it realy worx :D

  16. /etc/apache2/sites-avalible/000-default is /etc/apache2/sites-available/000-default or /etc/apache2/sites-available/default

  17. thanks saltedlight, it was typing mistake :(

    fixed

  18. Works!!!

  19. Thank you sir. Very succinct! Much appreciated.

  20. Thank you soooo much !!!!

    Worked first time, brilliant!!!!!!

  21. Thank you much! Perfect!

  22. Excellent work, a person knowing very little about installing apache in linux could do it without any difficulty. and yes it worked..!!

    Thanks

  23. Jeez.. You have no idea how glad I am i found this. I have been struggling with linux for a few days now. No idea why everything has to be this hard.

  24. Are you serious?

    Never heard about a2enmod command?

    #a2enmod rewrite
    #/etc/init.d/apache2 restart

  25. a2enmod will only work for apache2 default modules. what about if you compiled apache2 ?

  26. Thanku very much yaar, i was searchin for this only thing for last 2 days…..Thanx a lot.

  27. how to activate mod rewrite in CentOS ??
    plzz rply faast i m in danger

  28. Very important to say that before you apply rewrite rules you need to say in the site configuration RewriteEngine On

    so the rewrite configuration example looks like this:

    RewriteEngine On

    # allow only for https!
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^/svn(.*) https://%{SERVER_NAME}/svn$1 [R,L]

  29. nice, it helps me a lot … but …
    when I try to change AllowOverride None to All, I get the external error and I cannot access my page…Any ideas I’d appreciate so much

  30. sorry…500 Internal error :(

  31. I solved this by setting virtual host :) nice

  32. Excelent! it really works.

    I tried because webmedia explorer requires it: http://www.webmediaexplorer.com

  33. Very well done! it worked for me, thanks.

  34. tanks a lot !! ;)

  35. [...] mod rewrite how to enable mod_rewrite in apache2.2 (debian/ubuntu) [...]

  36. This could be achieved more easily by symlinking from /etc/apache2/mods-available/rewrite.load (this will also work with any of the other modules that have a file in mods-available).
    :-)

  37. this was the only tutorial that made my htaccess files work. thank you very much. good order and good explanation and descriptions.
    thanks…

  38. I saw many tutorial but yours works perfectly :) Good work Lavlu!

  39. Thanks a lot i’ve forgot about the AllowOverride All that was my problem

  40. Most tutorials in regards of ‘mod_rewrite’ out there today, even at Apache site are often referring to older versions, so from that perspective it’s nice with a fresh tutorial.

    However if you are reading this then you should be aware of the following:

    The ‘Enabled’ directory is to contain Links into ‘Available’ directory. Doing anything else is stepping away from the intended server structure. So copy the ‘rewrite.load’ as a link from the ‘Available’ directory, into the ‘Enabled’ directory. No need to edit anything!

    The ‘000-default’ is your Apache2 server default file changes here are very global. The edit above actually opens up for the use of ex:’.htaccess’ files in the whole site.
    Normally you leave this file alone and make the appropriate changes at a lower level. Like in the ‘apache2.conf’ which is the normal place for server wide alterations.
    Just a tip…

  41. Thanks!

Leave a Reply