2013-07-19 31 views
15

Tôi đang sử dụng Ubuntu 12.04 LTS linux trên máy của mình. Tôi đã cài đặt LAMP trên đó. Bây giờ tôi muốn kích hoạt mod_rewrite module. Tôi đã làm google rất nhiều và đã thử rất nhiều thủ đoạn nhưng không thể bật mod_rewrite. Bất cứ ai có thể giúp tôi để kích hoạt mod_rewrite? Cảm ơn trước.Làm thế nào để kích hoạt mod_rewrite trong LAMP trên ubuntu?

Trả lời

66

Phiên bản TL; DR - thực hiện như sau trong thiết bị đầu cuối của bạn:

sudo a2enmod rewrite && sudo service apache2 restart 

Với giải thích - hãy làm như sau trong thiết bị đầu cuối của bạn:

ls -l /etc/apache2/mods-available/rewrite.load ///if it prints out rewrite.load, it's there and ready to go 

sudo a2enmod rewrite //enables the mod 

ls -l /etc/apache2/mods-enabled/rewrite.load // shows created symlink 

sudo vi /etc/apache2/sites-available/default //opens the file in vi (you can also use vim or nano) 

Replace xuất hiện của "AllowOverride None" với "AllowOverride tất cả" khi cần thiết

sudo service apache2 restart ///restarts apache 

Sửa nhập máy chủ ảo của bạn trong/etc/apache2/sites-available và thêm AllowOverride All đến DocumentRoot. Máy chủ ảo của bạn cuối cùng sẽ trông giống như sau:

<VirtualHost *:80> 
    ServerName example.com 
    DocumentRoot /var/www/vhosts/example.com 
    <Directory /var/www/vhosts/example.com> 
    AllowOverride all 
    </Directory> 
</VirtualHost> 

Mặc dù điều này không thích hợp cho môi trường sản xuất, nó chỉ hoạt động tốt cho phát triển địa phương.

+0

: Cảm ơn bạn rất nhiều, bạn sẽ dễ dàng mô tả từng bước một. Tôi đã chấp nhận và upvoted câu trả lời của bạn. – PHPLover

+1

@mike - ya câu trả lời tuyệt vời, nhưng cud bạn cũng đề cập đến những gì cần làm trong môi trường sản xuất hoặc cung cấp một số liên kết để tìm kiếm các trường hợp như vậy –

+0

@StacyJ sẽ là một chút tắt chủ đề cho câu hỏi này. Đọc kỹ các chú thích /etc/apache2/apache2.conf hoặc httpd.conf. Kiểm tra http://httpd.apache.org/docs/current/misc/security_tips.html và https://help.ubuntu.com/12.04/serverguide/httpd.html để biết thêm thông tin – mikedugan

5

Bạn đã không đề cập đến những gì các lệnh bạn đã cố gắng, vì vậy tôi sẽ bắt đầu với cơ bản một:

sudo a2enmod rewrite 

Bạn cũng có thể kiểm tra nếu mod rewrite đã được cho phép sử dụng:

apache2ctl -M 
Các vấn đề liên quan