.htaccess 500错误

时间:2013-02-22 11:02:59

标签: php .htaccess

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

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

3 个答案:

答案 0 :(得分:1)

正如Carlos所说,你的RewriteRule没有问题,你已经禁用了mod_wrewrite。如果您正在使用WAMP,则可以通过取消注释行

来编辑httpd.conf来启用它
LoadModule rewrite_module modules/mod_rewrite.so

也像安德鲁说的那样,请检查你有AllowOverride ALL。通过在httpd.conf中搜索DocumentRoot找到它并检查它是否是

AllowOverride All

<Directory /> </Directory>

答案 1 :(得分:0)

您可能在apache配置中禁用了覆盖:

AllowOverride None

尝试更改它并查看问题是否已解决:

AllowOverride All 

请点击此处查看此设置的完整选项:http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride

如果您正在使用VHOSTS,则可以在VHOST块内的块内更改此设置

答案 2 :(得分:0)

我认为RewriteRule没有任何问题,因此更可能的问题是您没有启用mod_rewrite

如果您正在运行Ubuntu或Debian(或我认为的任何其他Debian派生词)执行(以root身份或使用sudo):

a2enmod rewrite
service apache2 restart

另外,请检查安德鲁建议的AllowOverride值,但这会忽略您的RewriteRule而不是抛出错误500.