【问题标题】:Request exceeded the limit of 10 internal redirects due to probable configuration error.?由于可能的配置错误,请求超出了 10 个内部重定向的限制。?
【发布时间】:2010-12-09 08:24:48
【问题描述】:

我有一个简单的重写

RewriteRule ^.*$ addnew/$0

但是我得到了

Request exceeded the limit of 10 internal redirects due to probable configuration error.

我正在尝试重写

www.mysite.com/任何字符

进入

www.mysite.com/addnew/任何字符

【问题讨论】:

    标签: mod-rewrite


    【解决方案1】:

    尝试以下解决方案,它对我有用。我希望这对你也有用。

    1. 在做任何事情之前 - 备份您的数据库!

    2. 现在,进入 wordpress > 设置 > 永久链接

    3. 将其设置为漂亮的永久链接设置之一,例如 //year/month/'

    4. 在您的 PC/Mac 上打开一个文本编辑器,然后打开您从您的电脑上下载的 .htaccess 文件 网络服务器

    5. 找到这段代码

      # BEGIN Wordpress
      <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule . /index.php [L]
      </IfModule>
      # END WordPress
      
    6. 用这段代码替换它,由 Scott Yang 提供:

      <IfModule mod_rewrite.c>
         RewriteEngine On
         RewriteBase /
         RewriteCond %{REQUEST_FILENAME} !-f
         RewriteCond %{REQUEST_FILENAME} !-d
         RewriteRule ^(.+)$ /index.php/$1 [L,QSA]
      </IfModule>
      
    7. 将此代码上传到您服务器上的主域根目录中即可。

    一切正常

    【讨论】:

    • 非常感谢。我刚刚将我的 WordPress 安装从一个子文件夹移到了根目录,这让我很头疼。再次感谢!
    • 非常感谢。这拯救了我的一天!对我来说,这条特殊的线路使它工作RewriteRule ^(.+)$ /index.php/$1 [L,QSA]
    【解决方案2】:

    正如 RC 已经说过的,.* 也将匹配 addnew/。并且由于 L 标志会导致重新注入重写的规则,因此您将获得无限递归。

    因此调整规则,使其与您的addnew/ 不匹配:

    RewriteRule !^addnew/ addnew%{REQUEST_URI}
    

    【讨论】:

    • 在同样的情况下(对我来说)它会无限递归
    • 我解决了我的问题。我的 .htaccess 有其他重定向。它需要被 RewriteCond 禁用。
    【解决方案3】:

    .*匹配addnew/。尝试:

    RewriteRule ^[^/]*$ addnew/$0
    

    【讨论】:

      猜你喜欢
      • 2012-05-03
      • 1970-01-01
      • 2017-09-23
      • 2014-01-26
      • 2020-05-05
      相关资源
      最近更新 更多