昨天我在 Ubuntu 10.04 上安装了 LAMP。起初一切似乎都很好,但是,当我启动我的 PHP 应用程序(我从使用 XAMPP 的 Windows 7 复制它)时,它不接受我的 .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://本地主机它给了我 500 内部服务器错误。当我改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
有人能建议如何解决这个问题吗?
答案1
根据错误消息,mod_rewrite 尚未加载。使用 激活它a2enmod rewrite
,然后使用 重新启动 Apache httpd service apache2 restart
。
答案2
你似乎没有mod_rewrite
在 Apache 安装中安装或激活它。
Invalid command 'RewriteEngine'
非常清楚。当您设置AllowOverride
为时none
,.htaccess
文件将根本不被解析,因此不会出现任何错误消息。
您必须激活或安装该mod_rewrite
模块。