Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess 条件重定向匹配_.htaccess - Fatal编程技术网

.htaccess 条件重定向匹配

.htaccess 条件重定向匹配,.htaccess,.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]

我有一个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
?我试过了,但找不出正确的语法,如果有任何帮助,我将不胜感激。

明白了<代码>重定向匹配不受
重写条件
的影响。 我最终使用了:

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]

您可以将其放在vhost中:

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

重定向“/”https://thedomain.com/"
进一步参考:


是的,
RedirectMatch
RewriteCond
在完全不同的apache模块中:前者是apache模块的一部分,后者功能更强大。