Php Htaccess重定向取决于操作系统

Php Htaccess重定向取决于操作系统,php,wordpress,apache,.htaccess,server,Php,Wordpress,Apache,.htaccess,Server,1-如果用户单击以下项,我需要此条件的.htaccess代码: 网站1.1下载 或 网站2.0下载 它根据用户的操作系统重定向用户,例如: 如果在PC上,则重定向到 如果在Android上,重定向到 如果在iOS上,则重定向到 2-我的主机中有多个网站,我需要创建一个.htaccess来访问主机中的所有网站,在那里我可以创建.htaccess文件 这是htaccess代码,它不起作用: <If "req('Host') = 'website1.download' &&

1-如果用户单击以下项,我需要此条件的.htaccess代码: 网站1.1下载 或 网站2.0下载 它根据用户的操作系统重定向用户,例如:

  • 如果在PC上,则重定向到
  • 如果在Android上,重定向到
  • 如果在iOS上,则重定向到
2-我的主机中有多个网站,我需要创建一个.htaccess来访问主机中的所有网站,在那里我可以创建.htaccess文件

这是htaccess代码,它不起作用:

<If "req('Host') = 'website1.download' && = 'website2.download'">
    # turn on rewrite engine
    RewriteEngine on

    # only detect smart phone devices if we are not on mobile site
    # to prevent redirect looping
    RewriteCond %{HTTP_HOST} !^https://google.com/$

    # Android
    RewriteCond %{HTTP_USER_AGENT} "android" [NC]
    # redirect to google play
    RewriteRule .? https://play.google.com/store%{REQUEST_URI}  [L,R=302]

    # iOS
    RewriteCond %{HTTP_USER_AGENT} "android" [NC]
    # redirect to app store
    RewriteRule .? https://www.apple.com/ios/app-store/%{REQUEST_URI}  [L,R=302]
</If>

#打开重写引擎
重新启动发动机
#仅当我们不在移动站点时检测智能手机设备
#防止重定向循环
重写cond%{HTTP_HOST}^https://google.com/$
#安卓
重写cond%{HTTP_USER_AGENT}“android”[NC]
#重定向到google play
重写规则。?https://play.google.com/store%{REQUEST_URI}[L,R=302]
#iOS
重写cond%{HTTP_USER_AGENT}“android”[NC]
#重定向到应用商店
重写规则。?https://www.apple.com/ios/app-store/%{REQUEST_URI}[L,R=302]

好的,我将使用
example.com
example.net
,因为这就是它们的用途。另外,我假设这些域指向您的服务器,并且它们也都已绑定到该服务器。最后,我假设你已经有了设备检测的模式?你的问题不是很清楚。(如果你不这样做,你可能只需要根据这一点和。)

您只需堆叠
RewriteCond
,并使用

RewriteCond %{HTTP_HOST} example.com [NC,OR]
RewriteCond %{HTTP_HOST} example.net [NC]
RewriteCond %{HTTP_USER_AGENT} "android" [NC]
RewriteRule .? https://play.google.com/store%{REQUEST_URI}  [L,R=302]
从技术上讲,这也是一个正则表达式,因此应该注意特殊字符以及更具体的字符,添加子域支持并将所有内容合并到单个条件中

RewriteCond %{HTTP_HOST} ^(www\.)?example\.(com|net)$ [NC]
RewriteCond %{HTTP_USER_AGENT} "android" [NC]
RewriteRule .? https://play.google.com/store%{REQUEST_URI}  [L,R=302]
你也应该意识到这一点


尽管如此,我想不出一个好的理由来这么做。从SEO的角度来看,你最终会隐藏3个重定向中的2个,因为爬行器会存储在给定URL上找到的信息,如果这些信息发生了变化,那么最近的变化就会获胜。从用户的角度来看,人们大多接受过点击商店徽章的训练,我不会介绍一些新的和奇怪的东西。如果你想跟踪一次点击,我只会使用JS。

说清楚,你拥有/控制着
google.download
yahoo.download
?或者是那些例子吗?不,(google.download和yahoo.download)它只是一个例子将(google.download和yahoo.download)例子更新到了website1和website2