2011-09-01 123 views
0

所以我想要做的是将移动用户从现有页面发送到移动子域。下面是一个工作脚本。不过,我希望将用户引导至正确的移动页面。例如,将www.domain.ca/pages/news.html发送到m.domain.ca/m_pages/m_news.htmlhtaccess移动重定向 - 全路径重定向

现在的问题是,如果用户输入了从RSS提要到新闻页面的示例他们被重定向到主要的移动页面而不是新闻页面。

我有一种感觉,这是一个很容易回答的问题,但我不熟悉mod_rewrite运算符。

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^m\.domain\.ca$ 
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC] 
RewriteCond %{HTTP_COOKIE} !mobilecookie=true 
RewriteRule ^(.*)$ http://m.domain.ca [L,R=302] 

并且在移动站点上,cookie在到达时被设置为真。

我目前的命名方案是所有的页面名称和文件夹名称都与m_附加到前面相同。两个站点上的文件夹结构都相同。答案

+1

_“我目前的命名方案是,所有的页面名称和文件夹名称都与附加到前面的m_相同。”_ - 如果您同时拥有移动设备和正常设备所有页面的版本。你应该有2个独立的网站使用相同的URL ..或移动域名应该被指向或位于单独的子文件夹(但使用相同的网页名称) - 那么这样的重定向将很容易实现。但现在 - 每页都需要几乎所有的规则...... – LazyOne

+0

假设我将文件名更改为相同,那么我将如何处理它? – foochow

+0

像这样:'RewriteRule ^(。*)$ http://m.domain.ca% {REQUEST_URI} [L,R = 302]'。这会将'www.example.com/hello/pink-kitten.png'重定向到移动浏览器的'm.example.com/hello/pink-kitten.png'。 – LazyOne

回答

0

总结自评:

RewriteRule ^(.*)$ http://m.domain.ca%{REQUEST_URI} [L,R=302] 
  • 保持文件结构在两个主要领域和移动网站

使用上面的代码相同,并按照子弹尖成功重定向