Вчера я установил LAMP на свой Ubuntu 10.04. Сначала все выглядело нормально, но когда я запустил свое приложение PHP (я скопировал его из Windows 7, где я использую XAMPP), он не принял мой файл .htaccess. Так что все мои URL-адреса на данный момент не работают.
Что я сделал для работы .htaccess.
1.Когда я создал отдельный файл конфигурации в ./sites-available/, я изменил раздел каталога AllowOverride
из None
к All
<Directory /some_path/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
2.Также первая строка в моем файле .htaccess RewriteEngine On
.
Все нормально работало на Windows в XAMPP. Когда я запустил http: // localhost это дало мне 500 Internal Server Error. Когда я меняю AllowOverride
вернуться к None
, он открывает index.html в моей корневой папке, а не index.php.
UPD: error.log сообщает об ошибке 500:
[Sat Jun 26 09:40:53 2010] [alert] [client 127.0.0.1] /some_path/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
Может ли кто-нибудь предложить какое-либо решение, как это исправить?
Согласно сообщению об ошибке mod_rewrite не загружен. Активируйте его с помощью a2enmod rewrite
и перезапустите Apache httpd с помощью service apache2 restart
.
Похоже, вы не установили или не активировали mod_rewrite
в вашей установке Apache. Линия
Invalid command 'RewriteEngine'
довольно ясно. Когда вы устанавливаете AllowOverride
к none
, то .htaccess
файл вообще не будет анализироваться, поэтому сообщение об ошибке не появляется.
Вам нужно будет активировать или установить mod_rewrite
модуль.