【问题标题】:Htaccess rule not applyingHtaccess 规则不适用
【发布时间】:2017-11-04 09:43:39
【问题描述】:

我的 htaccess 文件中有以下规则来删除 .php 扩展名并执行 301 重定向到无扩展名 URL:

# To remove .php extension
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\ (.*)\.php [NC]
RewriteRule ^ %1 [R=301,L]

# To check whether the file exists then set it back internally
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^.*$ $0.php [L]

我想对 PHP 文件应用以下规则:

RewriteRule ^test/([0-9]+)$ test.php?id=$1 [L]

上述规则导致 500 内部服务器错误。如果我删除第一组规则,第二个规则将再次起作用。因此,这两组规则存在一些冲突。

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    您必须在 .htaccess 中使用 RewriteEngine On 启用 RewriteEngine。

    如果您遇到错误,请在您的 WebServer 上检查您的 error logs - 在这里您可以找到答案,为什么会出现 500' error

    【讨论】:

    • 我已经在开头有这行了。这些规则一起存在一些冲突
    猜你喜欢
    • 2013-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-10
    • 1970-01-01
    • 2019-01-09
    相关资源
    最近更新 更多