Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.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 Android/iOS htaccess检测和重定向_.htaccess_User Agent_Redirect - Fatal编程技术网

.htaccess Android/iOS htaccess检测和重定向

.htaccess Android/iOS htaccess检测和重定向,.htaccess,user-agent,redirect,.htaccess,User Agent,Redirect,如何配置htaccess文件,将android客户端重定向到一个URL,将iPhone客户端重定向到另一个URL?当然可以!您所要做的就是查看用户代理,并在满足条件时执行重定向 RewriteEngine On RewriteCond %{HTTP_USER_AGENT} "android" [NC] RewriteRule ^(.*)$ /android/$1 [L,QSA] RewriteCond %{HTTP_USER_AGENT} "iphone|ipod|ipad" [NC] Re

如何配置
htaccess
文件,将android客户端重定向到一个URL,将iPhone客户端重定向到另一个URL?

当然可以!您所要做的就是查看用户代理,并在满足条件时执行重定向

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} "android" [NC]
RewriteRule ^(.*)$ /android/$1 [L,QSA]

RewriteCond %{HTTP_USER_AGENT} "iphone|ipod|ipad" [NC]
RewriteRule ^(.*)$ /ios/$1 [L,QSA]
让我把这里发生的事情说清楚。首先,我们要确保
重写引擎
已打开(v.important)。
RewriteCond
行是必须满足的条件,之后的规则才能强制执行。在我们的例子中,条件是发出请求的设备的用户代理中出现某些关键字。第一个条件匹配单词“android”,第二个条件匹配任何字符串“iphone”、“ipod”、“ipad”。文本匹配是使用

每个
RewriteCond
后面的行是根据其设备进行URL重写(最终用户认为是重定向)的实际规则。规则要求获取整个请求(同样使用正则表达式)并添加到开头的
/android
/ios
。您看到的
$1
表示正在重写的实际请求字符串

  • [NC]
    表示匹配不区分大小写(无大小写)。IE
    Android==Android
    IOS==IOS
    ,等等
  • [L]
    表示当前规则是最后一条规则,不执行其他条件或规则。 如果你只想区分android和ios设备,那么你可能只需要一个简单的
    android
    iphone/ipad/ipod
    。如果你想检测特定的设备,你必须更具体地匹配它的用户代理

好的,这样就可以了,现在唯一的问题是它不能加载图像。无法找到解决方案。当我访问链接时,它确实起作用。@使用-现在试试看,我对代码做了一些小的调整。@使用-乐意帮助!表示感谢的最好方式是对答案进行投票,如果你觉得答案有帮助,你可以把它标记为你的答案。这给了帮助过你的人一些帮助,这就是我们的目的;)