Назад | Перейти на главную страницу

Перезапись htaccess дает ошибку LimitInternalRecursion

У меня есть файл .htaccess со следующим кодом

<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

Но когда я захожу на свой сайт, я получаю эту ошибку

[client 127.0.0.1] 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.

Отладка LogLevel не дает мне возможности вернуться назад, и я не думаю, что увеличение лимита на внутреннюю рекурсию является разумным.

Есть ли у кого-нибудь опыт работы с подобными ошибками?

На случай, если будущие люди наткнутся на это ...

У меня была аналогичная проблема, когда мой проект Laravel 5.1 выдавал 500 ошибок в браузере и Request exceeded the limit of 10 internal redirects due to probable configuration error в файле журнала.

Я смог решить это, добавив RewriteBase / только после RewriteEngine On в моем .htaccess файл.

Надеюсь, это кому-то поможет.

Предположим, что запрос предназначен для /index.html.

Ваше первое условие перезаписи гласит: «Если запрошенный URL не является каталогом, перепишите его с перенаправлением на себя с добавленной косой чертой». Таким образом, URL-адрес будет переписан с перенаправлением на /index.html/. Который снова будет переписан с добавлением косой черты и т. Д. До бесконечности. Вот почему вы получаете сообщение об ошибке.