条件RedirectMatch

时间:2013-07-30 17:43:48

标签: .htaccess

我设置了302重定向指向文件夹,但这只会影响非移动用户。

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吗?我试过但无法找出正确的语法 - 任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:1)

知道了。 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 :(得分:0)

您可以将其放入虚拟主机:

  <If "%{HTTP_HOST} == 'thedomain.com' || %{HTTP_HOST} == 'www.thedomain.com'">
  Redirect "/" "https://thedomain.com/"
  </If>

更多参考:

https://httpd.apache.org/docs/2.4/rewrite/remapping.html

https://httpd.apache.org/docs/2.4/mod/core.html#if