htaccess中主机名的重定向规则

时间:2016-05-23 09:21:38

标签: php .htaccess redirect

设,$staging_url = http://xx.xx.xx.xx/

$mobile_url = http://xx.xx.xx.xx/mobile/xxx/testing

我已在htaccess文件中定义了此重定向规则:

 RewriteCond "%{HTTP_USER_AGENT}" "(android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos)" [NC]
RewriteRule "/(.*)$" "/mobile/xxx/testing/$1" [L]

当我从我的手机点击 $ staging_url 时,它会重定向到 $ mobile_url 。但是,当我点击 $ staging_url / design?id = 23 时。它再次重定向到 $ mobile_url ,我希望它重定向到 $ mobile_url / design?id = 23

提前致谢。我使用变量来定义我的链接,因为堆栈溢出只允许2个链接用于少于10个信誉的用户。 我的.htaccess文件:

 RewriteEngine On 
Options FollowSymLinks


RewriteBase /


RewriteCond %{HTTP_USER_AGENT} (facebookexternalhit/[0-9]|Twitterbot|Pinterest|Google.*snippet)
RewriteRule ^(.*)design$ story.php?id=$1 [L,QSA]


RewriteCond %{HTTP_USER_AGENT} "android|blackberry|iphone|ipod|ipad|iemobile" [NC]
RewriteRule ^(.*)$ http://google.com [L]


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_USER_AGENT} !facebookexternalhit/[0-9]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /#/$1 [L]

1 个答案:

答案 0 :(得分:0)

mod_rewrite docs所述,您可以使用parantheses获取所请求URL的某些部分,并在以后引用它们,例如:

^/somepath(.*) /index.php?page=$1