请求uri重定向忽略子域

时间:2013-05-23 18:26:45

标签: .htaccess mod-rewrite

我在下面使用htaccess代码将移动设备重定向到网站的移动页面。但是,如果它是子域URL,我需要它不重定向;例如:subdomain.mydomain.com 我需要做出哪些改变?

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/mydomain.*$
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]
RewriteRule ^(.*)$ https://mydomain.com/mobile-page.html [L,R=302]

1 个答案:

答案 0 :(得分:1)

添加以下条件:

RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} !^(.+)\.mydomain\.com$ [NC]

因此,在重定向发生时,请求的主机不以 www 开头,并且在mydomain.com前面有一个子域(不是 www ,通过第一个条件)。所以你的规则看起来像是:

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.+)\.mydomain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/mydomain.*$
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]
RewriteRule ^(.*)$ https://mydomain.com/mobile-page.html [L,R=302]