2010-07-02 238 views
2

我希望有人能幫助我。對於我的網站,我有一個與我的完整網站具有相同內容的相應移動網站,但將其顯示在移動設備上。基本上,我想從整個網站的所有請求發送到移動網站,除非url變量短信在我的htaccess的文件存在重寫url問題

所以對於我的整個網站我有這樣的:

RewriteCond %{QUERY_STRING}  !sms=1   [NC] 
RewriteRule ^(.*) http://mobile.mysite.co.uk/$1 [QSA,NC] 

但是當我到www.mysite.co.uk/news/index.cfm &短信,我得到了完整的網站下面的ColdFusion錯誤:

File not found: /news/index.cfm 

調試開啓我已經注意到,CGI變量PATH_TRANSLATED已經從改變

C:\webistes\mysite\news\index.cfm 

C:\JRun4\bin\http:\mobile.mysite.co.uk\news\index.cfm 

我茫然地已瞭解了是怎麼回事?任何幫助或見解將不勝感激。

此外,我正在運行ColdFusion 8的多服務器安裝,並使用爲ColdFusion配置的Apache。

回答

4

看起來你想做一個外部重定向,但你的RewriteRule目前只在內部重寫URL。嘗試添加RL標誌,以您的規則,看看是否有差別:

# Stop and redirect immediately to the mobile site 
RewriteCond %{QUERY_STRING}  !sms=1   [NC] 
RewriteCond %{HTTP_HOST}  !^mobile 
RewriteRule ^(.*) http://mobile.mysite.co.uk/$1 [QSA,NC,R,L] 

我還添加了一個RewriteCond,以確保如果你已經在移動網站上它不會重定向你,如果你的兩個網站都指向同一個地方(如果他們不這樣做,你可以將其刪除;只是想讓他們避免頭痛)。

+0

非常感謝Tim。很好解釋和非常及時 – 2010-07-02 14:32:09