开发者

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

开发者 https://www.devze.com 2022-12-09 19:10 出处:网络
i have a s开发者_运维技巧imple rewrite RewriteRule ^.*$ addnew/$0 however i get the Request exceeded the limit of 10 internal redirects due to probable configuration error.

i have a s开发者_运维技巧imple 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


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


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}


.*matches addnew/. Try with:

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

精彩评论

暂无评论...
验证码 换一张
取 消