2012-04-17 101 views
0

我爲我的網站創建了名爲mobile的子域名cPanel。我將移動設備重定向到該子域,但是那裏存在一個使得AJAX調用實際域的JavaScript。我已將這些呼叫結構化爲website.com/mobile/...。但是,這些都沒有通過,我懷疑這是因爲它在我的/mobile中尋找...,但該請求應該被重寫爲.htaccesswebsite.com/index.php?params=mobile/...子域名接管域名請求

這裏的的.htaccess:

# redirect phones/tablets to mobile site 
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC] 
RewriteCond %{HTTP_HOST} !mobile\.website\.com [NC] 
RewriteCond %{REQUEST_URI} !^/mobile [NC] 
RewriteRule ^(.*)$ http://www.mobile.website.com/$1 [L,R=302] 

# not a file or directory 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
# website.com/home => website.com/index.php?params=home 
RewriteRule ^(.+)(\?.+)?$ index.php?params=$1 [L,QSA] 

此作品在我的本地機器上而不是活的服務器上。我已經通過

<VirtualHost *:80> 
    DocumentRoot "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/website/mobile" 
    ServerName mobile.website.local 
</VirtualHost> 

創建sudomain本地和它完美的作品:當我去mobile.website.localwebsite.local/mobile,我得到的移動網站,而當我去website.local/mobile/users/login我得到了AJAX請求的正確JSON輸出。

如何讓我的mobile子域在/mobile/中保持活動狀態,但請求website.com/mobile/...與最後一個重寫規則一起轉發?

謝謝!

回答

0

只需添加特定的重定向你/移動,迫使忽略的文件或目錄聲明:

RewriteCond %{REQUEST_URI} ^/mobile [NC] 
RewriteRule ^(.+)(\?.+)?$ index.php?params=$1 [L,QSA] 

# redirect phones/tablets to mobile site 
RewriteCond %{HTTP_HOST} !mobile\.website\.com [NC] 
RewriteCond %{REQUEST_URI} !^/mobile [NC] 
RewriteCond %{QUERY_STRING} !^params=mobile(.*)$ 
RewriteRule ^(.*)$ http://www.mobile.website.com/$1 [L] 

# not a file or directory 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
# website.com/home => website.com/index.php?params=home 
RewriteRule ^(.+)(\?.+)?$ index.php?params=$1 [L,QSA] 

任何事情讓我知道,我會看看我能幫助:)

+0

謝謝迴應:)不幸的是,請求仍然沒有通過。我也嘗試在我的其他重定向之前放置重定向,但這也不起作用。 – Garrett 2012-04-17 22:01:39

+0

你好,我一直在做一些測試,它看起來工作,你把代碼之前的文件/目錄聲明?我會做更多的測試,我會很快回復你。 – 2012-04-17 22:11:04

+0

Hello @Garrett,你可以再次測試htaccess文件嗎?我剛剛用一個新文件編輯我的文章。 – 2012-04-17 22:52:42