Mod_rewrite maximum number of internal redirects reached архів - форум про інтернет-маркетингу

Один із сайтів відкривається з відомої всім 500 Internal Server Error

При тому, що сама сторінка у вигляді чистого HTML.


Поліз в лог, а там "mod_rewrite: maximum number of internal redirects reached. Assuming configuration error. Use 'RewriteOptions MaxRedirects' to increase the limit if neccessary."


Наскільки я розумію, це через рядків RewriteEngine, RewriteRule, RewriteCond в файлі .htaccess


Чи не міг би хто-небудь знає роз'яснити, в чому, власне, проблема і як її вилікувати? І невже RewriteRule дає таке велике навантаження на сервер, що потрібно виставляти ліміти?

Хотілося б розібратися.

Швидше за все є правило, яке зациклилося. Давайте Ваш хтаццесс сюди

Отримував таку помилку коли правила mod_rewrite були складені криво таким чином, що виходив циклічний редирект. Якщо немає циклу, то mod_rewrite наврядчи зможе дати сильне навантаження на сервер.
Може виникати, наприклад, коли яка-небудь інструкція RewriteRule складання таким чином, що викликає внутрішній редирект будь-який запит. Буває що в потрібному місці пропущена опція [L]. Показали б свій .htaccess

Так, мені теж здається, що справа в кривизні .htaccess

Поясню, що потрібно було зробити:

Є кілька доменів, які прив'язані до 1 папці. Домени виду mysite.com. site.co.uk, website.co.uk, 123.co.uk тощо.
Mysite.com - це як би титульний сайт (index.html), який окремо не описується в htaccess (він і глючить)
Файли для інших доменів лежать в цій же папці і повинні мати назви виду (для них і робиться htaccess):
site.html, site2.html, site3.html.
website.html, website2.html, website3.html.
123.html, 1231.html, 1232.html.

Options + Includes + FollowSymLinks -Indexes
AddHandler server-parsed .shtml
DirectoryIndex index.shtml index.htm index.php index.html
AddDefaultCharset windows-1251
CookieTracking on
CookieExpires "1 years"

Останні 2 рядки потрібні виключно для того, щоб титульні сторінки по запитам виду _www.site.co.uk, _www.website.co.uk, _www.123.co.uk відображалися.

Я з ранку вставив в середину

і начебто працює.

Посмотрелс зараз. І у вас так само. Дякуємо.

Думав-думав. І думка прийшла проста: RewriteRule не ловить, що це не домен co.uk (опція [C] фіксує попередній рядок), стало бути, тому і потрібно знову прописати той же самий RewriteCond, щоб відокремити потрібні домени від непотрібних.

А чому ви вважаєте цей варіант жорстким? І наскільки це буде впливати на швидкість завантаження сторінок?

жорсткий - тому що умова повторюється, трошки по бидлокодеровскі, що не канонічний запис. В іншому, на швидку впливати не повинно. Подивлюся, може згадаю, як в такому випадку, перша умова правильно прив'язати до всіх наступних інструкцій.
Радий, що так спрацювало.

Схожі статті