.htaccess 条件重定向匹配
我有一个302重定向设置指向一个文件夹,但这应该只影响非移动用户.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]
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模块的一部分,后者功能更强大。