Mod rewrite 由于可能的配置错误,请求超出了10个内部重定向的限制。?

Mod rewrite 由于可能的配置错误,请求超出了10个内部重定向的限制。?,mod-rewrite,Mod Rewrite,我有一个简单的重写 RewriteRule ^.*$ addnew/$0 但是我得到了 Request exceeded the limit of 10 internal redirects due to probable configuration error. 我正试图重写 www.mysite.com/anycharacter 进入 www.mysite.com/addnew/anycharacter*匹配addnew/。尝试: RewriteRule ^[^/]*$ addnew/$

我有一个简单的重写

RewriteRule ^.*$ addnew/$0
但是我得到了

Request exceeded the limit of 10 internal redirects due to probable configuration error.
我正试图重写

www.mysite.com/anycharacter

进入


www.mysite.com/addnew/anycharacter
*
匹配
addnew/
。尝试:

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

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

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

RewriteRule !^addnew/ addnew%{REQUEST_URI}

试试下面的解决方案,它对我有效。我希望这也对你有效

  • 在做任何事情之前-备份数据库

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

  • 将其设置为类似//year/month/'

  • 在PC/Mac上打开文本编辑器,然后打开从计算机下载的.htaccess文件 网络服务器

  • 找到这段代码

    # BEGIN Wordpress
    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase /
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress
    
    #开始Wordpress
    重新启动发动机
    重写基/
    重写cond%{REQUEST_FILENAME}-F
    重写cond%{REQUEST_FILENAME}-D
    重写规则/index.php[L]
    #结束WordPress
    
  • 替换为这段代码,由Scott Yang提供:

    <IfModule mod_rewrite.c>
       RewriteEngine On
       RewriteBase /
       RewriteCond %{REQUEST_FILENAME} !-f
       RewriteCond %{REQUEST_FILENAME} !-d
       RewriteRule ^(.+)$ /index.php/$1 [L,QSA]
    </IfModule>
    
    
    重新启动发动机
    重写基/
    重写cond%{REQUEST_FILENAME}-F
    重写cond%{REQUEST_FILENAME}-D
    重写规则^(+)$/index.php/$1[L,QSA]
    
  • 将此代码上载到服务器上的主域根目录,就完成了


  • (对我来说)在同样的情况下,一切都应该工作。它使无限递归我解决了我的问题。My.htaccess具有其他重定向。它需要在RewriteCond之前禁用。非常感谢。我刚刚将WordPress安装从一个子文件夹移到了根目录,这让我很头疼。再次感谢!谢谢。这救了我一天!对我来说,这一行使它工作起来
    RewriteRule^(+$/index.php/$1[L,QSA]