2013-07-30 2 views
0

У меня есть перенаправление 302, настроенное для указания на папку, но это должно затрагивать только пользователей, не являющихся мобильными.Условный RedirectMatch

RedirectMatch 302 ^/$ /my-folder-name/

Для того, чтобы ограничить это пользователей настольных компьютеров, я пытаюсь отфильтровать с помощью агента пользователя, например, так:

RewriteCond %{HTTP_USER_AGENT} !(iphone|ipod|android|symbian|windows\ phone|blackberry|iemobile|opera\ mobile|palmos|webos|googlebot-mobile) [NC] 
RedirectMatch 302 ^/$ /my-folder-name/ 

Но это не работает. Должен ли я использовать RewriteRule вместо RedirectMatch? Я попытался, но не смог понять правильный синтаксис для этого - любая помощь будет принята с благодарностью.

ответ

1

Got it. RedirectMatch не зависит от RewriteCond. Я закончил с использованием:

RewriteCond %{HTTP_USER_AGENT} !(iphone|ipod|android|symbian|windows\ phone|blackberry|iemobile|opera\ mobile|palmos|webos|googlebot-mobile) [NC] 
RewriteRule ^$ /my-folder-name/ [R=302,L] 
+1

Да, '' RedirectMatch' и RewriteCond' в совершенно различных модулей Apache: бывший является частью [mod_alias] (http://httpd.apache.org/docs/2.2 /mod/mod_alias.html), последняя часть гораздо более мощного [mod_rewrite] (http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html). – IMSoP

Смежные вопросы