【问题标题】:.htaccess 500 error.htaccess 500 错误
【发布时间】:2013-02-22 11:02:58
【问题描述】:

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

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

【问题讨论】:

  • 500 只是呈现给客户端的错误。您需要查看您的服务器日志以找出实际的错误。
  • 如果没有得到好的答案,不要重复提问。 (并且不要忽略那些试图帮助你写出更好问题的问题)。

标签: php .htaccess


【解决方案1】:

正如 Carlos 所说,您的 RewriteRule 没有问题,您禁用了 mod_wrewrite。如果您使用的是 WAMP,则可以通过取消注释该行来编辑 httpd.conf 来启用它

LoadModule rewrite_module modules/mod_rewrite.so

也像 Andrew 所说,请检查您是否有 AllowOverride ALL。通过在httpd.conf中搜索DocumentRoot找到它,并检查它是否是

AllowOverride All

<Directory /> </Directory>

【讨论】:

    【解决方案2】:

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

    AllowOverride None
    

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

    AllowOverride All 
    

    有关此设置的完整选项,请参见此处:http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride

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

    【讨论】:

    • 是的。我也在使用virualhost。错误仍然出现。请为此提供解决方案。
    【解决方案3】:

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

    如果您正在运行 Ubuntu 或 Debian(或我想的任何其他 Debian 衍生产品)执行(以 root 身份或使用sudo):

    a2enmod rewrite
    service apache2 restart
    

    另外,按照 Andrew 的建议检查 AllowOverride 值,但这只会忽略您的 RewriteRule 而不是抛出错误 500。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-25
      • 2014-04-23
      相关资源
      最近更新 更多