使用mod_rewrite重定向移动网站网址

时间:2012-05-20 00:30:41

标签: .htaccess mod-rewrite

我需要重写一个url,以便为所有对子域的请求添加一个url变量。

示例:

m.mydomain.com ==> m.mydomain.com?mobileFormat=true

这是触发我的网站的移动版本加载的标志。

应该很容易吗?到目前为止我所尝试的一切都没有用。

以下是我目前在.htaccess文件中的代码:

   RewriteEngine On
   RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
   RewriteRule ^([a-zA-Z0-9/-]+)$ /index.cfm%{REQUEST_URI} [PT]

   RewriteRule ^locale/([^/]*)$ /?siteLocale=$1 [L]

   RewriteCond %{HTTP_HOST} ^m\.(.*)$
   RewriteRule ^(.*)$  m.%1/$1?mobileFormat=true [QSA]

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

我假设这是你尝试过的:

RewriteCond %{HTTP_HOST} ^m\.(.*)$
RewriteRule ^(.*)$  m.%1/$1?mobileFormat=true [QSA]

QSA是查询字符串附加 - 如果他们尝试访问的URL是:

m.mydomain.com?test=yes

然后上面会将其重写为:

m.mydomain.com?mobileFormat=true&test=yes

答案 1 :(得分:0)

我正在寻找的解决方案是:

RewriteCond %{HTTP_HOST} ^m\.(.*)$ [NC]
RewriteCond %{REQUEST_URI} !\.(xml|jpg|gif|png|js|css)$
RewriteRule .? $1?mobileFormat=true [QSA,L]

感谢所有帮助。