Случайный альбом
Flash Point 2011
Некультурный отдых - Flash Point 2011
Изображений: 77
KUBANA-2011
Некультурный отдых - KUBANA-2011
Изображений: 67
Из последнего
Если wp кажет ошибку при попытке загрузки планинов и тем
Все больше и больше домохозяек переходят с нормальных движков на богомерзкий ВП, посему, работникам хтмл-ножа и пхп-топора все чаще приходится вытирать сопли тем, кто взгромоздившись на этот самый WordPress изволил обосраться
Отзыв о сайте и сети магазинов Спортмастер. Вкратце - говно.
Собирался обзавестись к весне нормальными трэкинговыми тапками - полез в спортмастер, где были объявлены лютые скидки, в итоге обломался так что больше в этот говноспортмастер - ни ногой!
Дело было в Гогетлинксе, или как общаться с неадекватными оптимизаторами.
Небольшой эпизод. произошедший серым февральским днем с одним свободным копейщиком, или по-модному говоря фрилансером в процессе работы в качестве оптимизатора на статейной бирже Гогетлинкс
Меточки:
Нацарапано:  23.11.2009
Категория: Работа
Метки новости:
В mod_rewrite есть одни грабли, на которые наступали все кому не лень уже стопицот раз: зараза просматривает список правил раз за разом, до тех пор пока URL удается хоть как-то поменять.

Зачастую в результате получаеются и бесконечные циклы (типа добавления расширения — оно прибавляется снова и снова, ежели не ограничить его специально обученным регэкспом), который в свою очередь заставляет моск попотеть. Модификатор [L] обламывает всех, кто на него надеялся - он просто сразу заводит следующую иттерацию обработки. Вобщем-то и без всяких сопливых бесконечных циклов лишние иттерации усугубляют тогмоза в обработке.

Собственно способ наебать судьбу:
Цитата:

RewriteCond % !^$
RewriteRule ^ - [L]

#Дальше сколько угодно правил
RewriteRule ^/?page/([a-z]+)$ read.php?page=$1 [E=FINISH:1,L,QSA]
RewriteRule ^.*$ 404.php [E=FINISH:1,L]



Для чего это? При произведении окончательного преобразования URL-а -мы торжественно ставим переменную окружения FINISH, и при следующей иттерации индеец[toolfaq]Apache[/toolfaq] сделает копию старых перменных окружения добавив им префикс REDIRECT_, узрит установленный REDIRECT_FINISH и с чистой совестью утрет трудовой пот. Алес!

ЗЫ: В nginx в родном rewrite-engine эта проблема изначально отсутствует как класс.

ЗЗЫ: А если подумать то можно еще короче:

Цитата:
# Don't loop.
RewriteCond % !^$
RewriteRule .* — [L]




Звиздец рекомендует поделиться ссылкой с камрадами и откомментить эту заметку:
для печатиПечатай!  
 
ZviZdeZ.ru
Придет серенький Фенрир и укусит нас за мир

2009-2011©