2011-09-01 58 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] 
  • 保持文件結構在兩個主要領域和移動網站

使用上面的代碼相同,並按照子彈尖成功重定向