World of *Nix

by S. M. Ibrahim (lavluda)
July 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 fir
  2. Website Optimization 01: disable ETag in apache (debian/ubuntu) From last

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

52 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. Daz Williams Says:
    June 3rd, 2008 at 11:33 pm

    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!

  42. thanks a lot! :D

  43. Thanks man, it works like a charm. Thanks to this tutorial i’ve enabled the “Clean URLs” option in Drupal.

  44. THANKS!!! I’d been racking my brains trying to get my .htaccess file working. It was full of Rewrite directives. Then I found your explanation. Worked perfectly.

    Thanks, again.

  45. whoaa…its work..thanks…but when i check the mods loaded by apache using apache2ctl -l , mod_rewrite isn’t on the list..but after all it works :p .thanks.

  46. maque, my impression is that to see the loaded modules you should do apache2ctl -M

    …and BTW Lavluda, it worked for me as well. But I’d like to know why.

    Is there a good book re Apache 2.0 somewhere? The difference between Apache 1.x and 2.x is significant re implementation. It’s much more convoluted; more confusing. So before I make my site public, I’d like to know that I haven’t compromised security in any way.

  47. This is a follow-up to my post yesterday…

    I spoke too soon. After the tweak, my other non-Drupal sites were no longer available.

    The odd thing is that after I reset everything to the initial Drupal (ie, post-install) settings, clean-urls still worked and my other non-Drupal sites were available once more.

    My system is Linux debian 2.6.26-2-amd64 (Lenny). The bottom line is, in my case, the tweak did not work.

  48. I could not enable the clean URL on a test copy of a Drupal site.

    With this tuto it works.

    Thank you

  49. Thanks a lot
    worked like a charm!
    as you already know!

  50. Thank You!
    Great Job!
    Thanks,thanks,thanks!

  51. aaronlborg Says:
    July 2nd, 2009 at 11:31 am

    totally worked and i had my doubts.

    many thanks.

Leave a Reply