每当我申请.htaccess文件,它显示"500内部服务器错误“.when我放空代码.htaccess文件,它运行得很好。如果我写了下面的代码,它显示error.My .htaccess代码是
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^user/(.*)/(.*)/$ user/searchUsrResult.php?selFindUsrCity=$1&txtFindUSrAreaRzip=$2 [L,NC]发布于 2013-02-22 19:28:57
正如卡洛斯提到的,你的RewriteRule没有问题,你禁用了mod_wrewrite。如果您使用的是WAMP,则可以通过取消注释行来编辑httpd.conf来启用它
LoadModule rewrite_module modules/mod_rewrite.so同样就像安德鲁所说的,请检查你是否有AllowOverride ALL。通过在httpd.conf中搜索DocumentRoot找到它,并检查它是否是
AllowOverride All在<Directory /> </Directory>中
发布于 2013-02-22 19:06:41
您可能在apache配置中禁用了覆盖:
AllowOverride None尝试更改它,看看问题是否得到解决:
AllowOverride All 有关此设置的完整选项,请参阅此处:http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride
如果您使用的是VHOSTS,则可以在VHOST块内的块中更改此设置
发布于 2013-02-22 19:08:01
我没有看到RewriteRule有任何问题,所以更有可能的问题是您没有启用mod_rewrite。
如果你运行的是Ubuntu或Debian (我想是其他Debian的衍生版本),执行(以超级用户身份或者使用sudo):
a2enmod rewrite
service apache2 restart另外,按照Andrew的建议检查AllowOverride的值,但这将忽略您的RewriteRule,而不是抛出error500。
https://stackoverflow.com/questions/15022679
复制相似问题