如何在.htaccess中实现目录重定向并排除iPhone、iPad设备?
解决iPhone/iPad设备的重定向例外问题
要实现给iPhone和iPad设备添加重定向例外的需求,你只需要在现有规则前添加条件判断,排除这两类设备的请求即可。修改后的完整配置如下:
RewriteEngine On # 排除iPhone和iPad设备,不执行重定向 RewriteCond %{HTTP_USER_AGENT} !(iPhone|iPad) [NC] RewriteRule ^/?incoming-dir/(.*) direct-dir/$1 [R=301,L]
配置说明:
RewriteCond %{HTTP_USER_AGENT} !(iPhone|iPad) [NC]:这条条件用来检查请求的User-Agent头不包含"iPhone"或"iPad"字符串。其中:!符号表示“否定匹配”,也就是如果User-Agent里有这两个关键词之一,就不满足该条件;[NC]是NoCase的缩写,让匹配不区分大小写(避免因为User-Agent里的大小写差异,比如IPad或iphone,导致规则失效)。
- 只有当上述条件满足时(即请求不是来自iPhone或iPad),才会执行后面的
RewriteRule进行301永久重定向。
如果你偏好分开写两个条件,也可以改成这样,效果完全相同:
RewriteEngine On RewriteCond %{HTTP_USER_AGENT} !iPhone [NC] RewriteCond %{HTTP_USER_AGENT} !iPad [NC] RewriteRule ^/?incoming-dir/(.*) direct-dir/$1 [R=301,L]
内容的提问来源于stack exchange,提问作者Try Out
相关产品推荐
相关产品推荐

