【问题标题】:How to stop .htaccess instructions without rewrite loop如何在不重写循环的情况下停止 .htaccess 指令
【发布时间】:2014-12-03 06:52:41
【问题描述】:

我正在开发一个 codeigniter 项目。在我的 .htaccess 文件中,我有:

1 RewriteEngine on
2 RewriteRule ^subfolder1/(.*)$ subfolder1/$1 [L] # pass through for subfolder1

.... additional instructions

我收到 500 内部服务器错误

根据我的 ISP(这是在共享环境中,所以我看不到日志),上面的第二行导致重写循环,从而导致错误。如果 subfolder1 在请求中,有没有办法停止执行第 2 行的指令而无需重写并导致循环?在伪代码中:

if ^subfolder1/(.*)$ STOP HERE ([L])

【问题讨论】:

    标签: apache .htaccess codeigniter mod-rewrite


    【解决方案1】:

    以下规则应该以您想要的方式结束重写过程:

    RewriteRule ^subfolder1/ - [L]
    

    仅使用 - 作为替换指示 RewriteEngine 只保留 URL,但仍应用 L(停止)标志。

    【讨论】:

      【解决方案2】:

      另一种方法是将另一个 .htaccess 文件放在 subfolder1 中

      RewriteEngine off
      

      【讨论】:

        猜你喜欢
        • 2012-03-01
        • 1970-01-01
        • 2011-07-10
        • 1970-01-01
        • 2012-11-29
        • 2015-12-06
        • 1970-01-01
        • 2020-03-19
        • 2021-03-27
        相关资源
        最近更新 更多