2013-02-22 179 views
0

每当我申请.htaccess文件,它显示“500内部服务器错误”。当我把空的代码.htaccess文件,它运行完美。如果我写了下面的代码,它显示了error.My的.htaccess代码是.htaccess 500错误

Options +FollowSymLinks 
RewriteEngine on 
RewriteBase/
RewriteRule ^user/(.*)/(.*)/$ user/searchUsrResult.php?selFindUsrCity=$1&txtFindUSrAreaRzip=$2 [L,NC] 
+2

500只是提供给客户端的错误。你需要查看你的服务器日志来找出错误实际是什么。 – Quentin 2013-02-22 11:08:00

+1

重复的问题http://stackoverflow.com/questions/15003589/htaccess-500-internal-server-error – 2013-02-22 11:08:09

+1

如果你没有得到很好的答案,不要重复提问。 (并且不要忽略试图帮助你写更好的问题的问题的评论)。 – Quentin 2013-02-22 11:13:51

回答

0

你可能在你的Apache配置禁用覆盖:

AllowOverride None 

试图改变它,看看问题是否解决:

AllowOverride All 

在这里看到此设置充分的选择:http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride

如果你使用虚拟主机,你可以在块中更改此设置虚拟主机块

+0

是的。我也使用virualhost。仍然会出现错误。请为此提供解决方案。 – Tamilarasan 2013-02-25 04:37:57

0

里面我看不出有任何问题与RewriteRule,所以更可能的问题是你没有启用mod_rewrite做。

如果您正在运行Ubuntu或Debian的(或我想任何其他Debian的衍生物)(以root身份或与sudo):

a2enmod rewrite 
service apache2 restart 

此外,检查AllowOverride值安德鲁建议,但这只是忽略你的RewriteRule而不是抛出错误500.

1

就像Carlos提到的,你的RewriteRule没有问题,你禁用了mod_wrewrite。如果你正在使用WAMP,你可以通过取消注释行

LoadModule rewrite_module modules/mod_rewrite.so 

也像安德鲁说编辑httpd.conf启用它,请检查你的AllowOverride ALL。找到它通过搜索httpd.conf中的DocumentRoot的,并检查它是否是

AllowOverride All 

<Directory /> </Directory>