Запрос превысил 10 внутренних перенаправлений из-за вероятной ошибки конфигурации. - PullRequest
19 голосов
/ 23 октября 2009

у меня есть простая перезапись

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

Ответы [ 3 ]

23 голосов
/ 23 декабря 2010

Попробуйте следующее решение, оно работает для меня. Надеюсь, это будет работать и для вас.

  1. ДО ТОГО, ЧТОБЫ ДЕЛАТЬ - СОЗДАЙТЕ СВОЮ DB!

  2. Теперь перейдите в WordPress> Настройки> Постоянные ссылки

  3. Установите одну из симпатичных настроек постоянной ссылки, например // год / месяц / '

  4. Откройте текстовый редактор на вашем ПК / 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. Замените его на этот кусок кода, любезно предоставленный Скоттом Янгом:

    <IfModule mod_rewrite.c>
       RewriteEngine On
       RewriteBase /
       RewriteCond %{REQUEST_FILENAME} !-f
       RewriteCond %{REQUEST_FILENAME} !-d
       RewriteRule ^(.+)$ /index.php/$1 [L,QSA]
    </IfModule>
    
  7. Загрузите этот код в корневой каталог основного домена на своем сервере, и все готово.

Все должно работать

13 голосов
/ 23 октября 2009

Как уже сказал RC, .* также будет соответствовать addnew/. А поскольку флаг L вызывает повторное внедрение переписанного правила, вы получите бесконечную рекурсию.

Так что настройте правило так, чтобы оно не совпадало с addnew/:

RewriteRule !^addnew/ addnew%{REQUEST_URI}
3 голосов
/ 23 октября 2009

.* соответствует addnew/. Попробуйте с:

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