我正在尝试设置一个非常简单的mod_rewrite .htaccess:
RewriteEngine on
RewriteRule ^contact$ contact.php
RewriteRule ^contact/$ contact.php
但是当我上传.htaccess文件时,我收到内部服务器错误。发生了什么事?
我刚检查了httpd.conf文件,mod_rewrite模块就在这里,没有任何#。另外mod_rewrite正在与服务器中的另一个域一起工作(我没有使用这个域)。
是否可以通过域激活mod_rewrite域?我该怎么激活它?非常感谢你。
编辑:
我刚检查了apache错误日志,我得到了这个:
[Fri Jun 08 09:36:05 2012] [alert] [client 87.216.xxx.xxx] /var/www/vhost/domain.com/home/html/.htaccess: RewriteEngine not allowed here
有任何线索吗?感谢。
答案 0 :(得分:0)
通常,这意味着在服务器/虚拟机级别,主配置文件或更高级别的.htaccess文件中,将会有“AllowOverride”阻止。
使用AllowOverride / Options更改检查.htaccess文件的更高目录 - 然后检查主httpd.conf文件(http://httpd.apache.org/docs/2.0/mod/core.html#allowoverride - 选项)
了Dw
答案 1 :(得分:-1)
似乎没有启用mod_rewrite。