htaccess rewrite_rule вызывает цикл; внутренняя ошибка сервера wordpress

Несколько дней назад наш сайт подвергся атаке со стороны нескольких идентифицированных сайтов-рефереров. журнал ошибок ежедневно заполняется примерно 1 ГБ неудачных запросов и множеством внутренних ошибок сервера при установке WordPress.

чтобы избежать этого, я написал следующие правила перезаписи htaccess, чтобы остановить трафик от определенных рефереров. Пока они помогли, страница стала доступнее. Но, тем не менее, журнал ошибок теперь заполнен: [Сб, 22 сентября, 13:14:29 2012] [ошибка] [клиент 188.32.141.123] Запрос превысил ограничение в 10 внутренних перенаправлений из-за вероятной ошибки конфигурации. Используйте «LimitInternalRecursion», чтобы увеличить лимит, если это необходимо. Используйте отладку LogLevel, чтобы получить обратную трассировку., ссылка: http://www.aztecmebel.ru/index.php?productID=1883&picture_id=3919 Я предполагаю, что правило перезаписи [F] вызывает цикл, отправляя ссылку на страницу с ошибкой, которая снова перезаписывается... Есть идеи, как это остановить? например если правило было применено один раз, больше не применять? Я хочу избежать дальнейшего заполнения журнала ошибок... и ненужных циклов, потребляющих процессор...

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]

RewriteCond %{HTTP_REFERER} aztecmebel\.ru [NC,OR]
RewriteCond %{HTTP_REFERER} www\.aztecmebel\.ru [NC,OR]
RewriteCond %{HTTP_REFERER} thanglongflc\.edu\.vn [NC,OR]
RewriteCond %{HTTP_REFERER} www\.thanglongflc\.edu\.vn [NC,OR]
RewriteCond %{HTTP_REFERER} gornji-rahic\.net [NC,OR]
RewriteCond %{HTTP_REFERER} www\.gornji-rahic\.net [NC,OR]
RewriteCond %{HTTP_REFERER} ams\.co\.th [NC,OR]
RewriteCond %{HTTP_REFERER} www\.ams\.co\.th [NC,OR]
RewriteCond %{HTTP_REFERER} yuanzhixing\.com [NC,OR]
RewriteCond %{HTTP_REFERER} www\.yuanzhixing\.com [NC,OR]
RewriteCond %{HTTP_REFERER} forumdownload\.net [NC,OR]
RewriteCond %{HTTP_REFERER} www\.forumdownload\.net [NC,OR]
RewriteCond %{HTTP_REFERER} ybcz\.cn [NC,OR]
RewriteCond %{HTTP_REFERER} www\.ybcz\.cn
RewriteRule .* - [F]

person Canelo Digital    schedule 22.09.2012    source источник


Ответы (1)


Я предполагаю, что правило перезаписи [F] вызывает цикл, отправляя ссылку на страницу с ошибкой, которая снова переписывается... Есть идеи, как это остановить?

Возможно, это и является причиной, особенно если у вас есть собственный документ об ошибке. Причина, по которой происходит зацикливание, заключается в том, что вы проверяете статус перенаправления как 200, но флаг F делает статус 403. Вместо этого попробуйте изменить первое правило, чтобы оно соответствовало 403:

RewriteCond %{ENV:REDIRECT_STATUS} 403
RewriteRule .* - [L]
person Jon Lin    schedule 24.09.2012