Модификация Apache - Переписывает: Почему этот URL не фильтрует

Как Вы выполняете rsh? Вручную или с помощью сценария/программы?

Вы получаете stderr, а также stdout? Попытайтесь добавить 2>&1 в конец Вашей команды, чтобы заставить stderr быть перенаправлением к stdout.

1
задан 23 November 2010 в 17:21
2 ответа

RewriteCond условия применяются значением по умолчанию с помощью логического И, и необходимо использовать ИЛИ так как Вы указываете что версии заблокироваться вместо какой версии позволить:

#The next line prevents version 4.0
RewriteCond %{HTTP_USER_AGENT} .*801.293.* [NC,OR]

#The next line prevents version 3.13
RewriteCond %{HTTP_USER_AGENT} .*705.18.* [NC,OR]

#The next line prevents version 3.21
RewriteCond %{HTTP_USER_AGENT} .*702.405.* [NC,OR]

#The next line prevents version 3.2
RewriteCond %{HTTP_USER_AGENT} .*702.367.* [NC,OR]

#Require iPhones to be 3GS or iPhone 4.
RewriteCond %{HTTP_USER_AGENT} !.*Apple-iPhone2C1.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !.*Apple-iPhone3C1.* [NC,OR]

RewriteRule .* http://destination.example.com/ [R,NC,L]
2
ответ дан 3 December 2019 в 22:21

Я думаю, что Вы пропускаете RewriteRule

http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

Зависимое описание содержания браузера:

По крайней мере, для важных страниц верхнего уровня иногда необходимо обеспечить оптимум зависимого содержания браузера, т.е. нужно обеспечить максимальную версию для последних вариантов Netscape, минимальную версию для браузеров Lynx и среднюю версию комплекта для всех других.

Решение: Мы не можем использовать согласование содержания, потому что браузеры не обеспечивают свой тип в той форме. Вместо этого мы должны действовать на HTTP-заголовок "Агент пользователя". Следующий condig делает следующее: Если HTTP-заголовок "Агент пользователя" начинается с "Mozilla/3", страница foo.html переписывается к foo.NS.html и и остановки перезаписи. Если браузер является "Lynx" или "Mozilla" версии 1 или 2, URL становится foo.20.html. Все другие браузеры получают страницу foo.32.html. Это сделано следующим ruleset:

RewriteCond %{HTTP_USER_AGENT}  ^Mozilla/3.*
RewriteRule ^foo\.html$         foo.NS.html          [L]

RewriteCond %{HTTP_USER_AGENT}  ^Lynx/.*         [OR]
RewriteCond %{HTTP_USER_AGENT}  ^Mozilla/[12].*
RewriteRule ^foo\.html$         foo.20.html          [L]

RewriteRule ^foo\.html$         foo.32.html          [L]
0
ответ дан 3 December 2019 в 22:21

Теги

Похожие вопросы