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

*爱你&永不变心* 提交于 2019-12-17 08:59:09

问题


i have a simple rewrite

RewriteRule ^.*$ addnew/$0

however i get the

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

I am trying to rewrite

www.mysite.com/anycharacter

into

www.mysite.com/addnew/anycharacter


回答1:


Try the folllowing solution, it works for me.I hope this will work for you too.

  1. BEFORE DOING ANYTHING - BACKUP YOUR DB!

  2. Now, go into wordpress > settings > permalinks

  3. Set it to one of the pretty permalink settings like //year/month/'

  4. Open a text editor on your PC/Mac and open the .htaccess file you downloaded from your webserver

  5. Find this piece of code

    # 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. Replace it with this piece of code, courtesy of 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. Upload this code into the main domain root directory on your server and you're done.

Everything should work




回答2:


As RC already said, .* will also match addnew/. And since the L flag causes a reinjection of the rewritten rule, you will get an infinite recursion.

So adjust the rule so it doesn’t match your addnew/:

RewriteRule !^addnew/ addnew%{REQUEST_URI}



回答3:


.*matches addnew/. Try with:

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


来源:https://stackoverflow.com/questions/1611506/request-exceeded-the-limit-of-10-internal-redirects-due-to-probable-configuratio

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!