.htaccess 通过htaccess为不同国家/地区进行移动重定向
我使用以下移动htaccess重定向代码:.htaccess 通过htaccess为不同国家/地区进行移动重定向,.htaccess,redirect,mobile,geo,.htaccess,Redirect,Mobile,Geo,我使用以下移动htaccess重定向代码: RewriteEngine On RewriteCond %{HTTP_USER_AGENT} (mobile|android|iphone|ipod|ipad|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|iris|kindle|sgh|brew|htc|j2me|lg|midp|mot|netfront|nokia|obigo|openweb|operamini|pa
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (mobile|android|iphone|ipod|ipad|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|iris|kindle|sgh|brew|htc|j2me|lg|midp|mot|netfront|nokia|obigo|openweb|operamini|palm|plucker|pocket|psp|samsung|sanyo|sch|smartphone|sonyericsson|symbian|symbos|teleca|up.browser|vodafone|wap|webos|windowsce|xda|xiino) [NC]
RewriteRule ^(.*)$ url1 [R=302,L]
现在,我想保留这些代码,但也要将来自某些特定国家的移动用户重定向到不同的url2。我该怎么做?
下面的代码是否是解决方案/这是否可能两个代码都存在于htaccess/中
RewriteEngine On - /for all users/
RewriteCond %{HTTP_USER_AGENT} (mobile|android|iphone|ipod|ipad|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|iris|kindle|sgh|brew|htc|j2me|lg|midp|mot|netfront|nokia|obigo|openweb|operamini|palm|plucker|pocket|psp|samsung|sanyo|sch|smartphone|sonyericsson|symbian|symbos|teleca|up.browser|vodafone|wap|webos|windowsce|xda|xiino) [NC]
RewriteRule ^(.*)$ url1 [R=302,L]
RewriteEngine On - /only for Ca, US and MX for example/
RewriteCond %{HTTP_USER_AGENT} (mobile|android|iphone|ipod|ipad|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|iris|kindle|sgh|brew|htc|j2me|lg|midp|mot|netfront|nokia|obigo|openweb|operamini|palm|plucker|pocket|psp|samsung|sanyo|sch|smartphone|sonyericsson|symbian|symbos|teleca|up.browser|vodafone|wap|webos|windowsce|xda|xiino) [NC]
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(CA|US|MX)$
RewriteRule ^(.*)$ url2 [R=302,L]
谢谢。首先,您需要确保已安装并加载mod_geoip模块(更多信息)。然后,您希望您的规则是相反的,因为第一条规则将简单地匹配所有国家,重定向,而第二条规则将永远无法达到:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (mobile|android|iphone|ipod|ipad|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|iris|kindle|sgh|brew|htc|j2me|lg|midp|mot|netfront|nokia|obigo|openweb|operamini|palm|plucker|pocket|psp|samsung|sanyo|sch|smartphone|sonyericsson|symbian|symbos|teleca|up.browser|vodafone|wap|webos|windowsce|xda|xiino) [NC]
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(CA|US|MX)$
RewriteRule ^(.*)$ url2 [R=302,L]
RewriteCond %{HTTP_USER_AGENT} (mobile|android|iphone|ipod|ipad|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|iris|kindle|sgh|brew|htc|j2me|lg|midp|mot|netfront|nokia|obigo|openweb|operamini|palm|plucker|pocket|psp|samsung|sanyo|sch|smartphone|sonyericsson|symbian|symbos|teleca|up.browser|vodafone|wap|webos|windowsce|xda|xiino) [NC]
RewriteRule ^(.*)$ url1 [R=302,L]
除了使用GEOIP\u COUNTRY\u code
,您还可以使用:
RewriteCond %{ENV:GEOIP_CONTINENT_CODE} ^NA$
对于整个北美来说。比你强,Jon Lin,但似乎我必须将Apache从2升级到2.2,这对我来说是个风险。您是否知道其他方法可以将不同的国家重定向到不同的URL。htaccess除了mod_geoip选项之外?谢谢。我可以只用%{COUNTRY\u CODE}或%{ENV:COUNTRY\u CODE}代替%{ENV:GEOIP\u COUNTRY\u CODE}吗?