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

После переноса сайта wordpress на другой хостинг сайт не загружался, внутренние страницы показывались с ошибкой 500 Internal Server Error, а в логах Apache появились вот такие ошибки:

Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

А все из-за того что не правильно написан .htaccess.

А чтобы точно найти ошибку, включим debug для mod_rewrite.

Как включить debug для mod_rewrite

В виртуальных хостах, в зависимости от версии Apache расскоментируйте:

<VirtualHost *:80>
ServerName       example.dev
DocumentRoot    /var/www/vhosts/www.example.com/public

# Включить Rewrite Log Debugging в Apache 2.2
RewriteLog /var/www/vhosts/www.example.com/rewrite.log
# RewriteLogLevel 6

# Включить Rewrite Log Debugging в Apache 2.4
# LogLevel alert rewrite:trace6

</VirtualHost>

После включения в логах увидел:

rewrite 'kontakty/' -> '/new/index.php', referer: http://example.com/
trying to replace prefix /home/websites/brilliantdent-ru/www/ with /new/, referer: http://example.com/

И здесь стало понятно что в .htaccess надо удалить new, так как сайт ранее был в директории http://example.com/new

Было:

# BEGIN WordPress
 <IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /new/
 RewriteRule ^index\.php$ - [L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /new/index.php [L]
 </IfModule>
# END WordPress

Стало:

# BEGIN WordPress
 <IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /
 RewriteRule ^index\.php$ - [L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /index.php [L]
 </IfModule>
# END WordPress

 

Tags:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *