我爲我的網站創建了名爲mobile
的子域名cPanel。我將移動設備重定向到該子域,但是那裏存在一個使得AJAX調用實際域的JavaScript。我已將這些呼叫結構化爲website.com/mobile/...
。但是,這些都沒有通過,我懷疑這是因爲它在我的/mobile
中尋找...
,但該請求應該被重寫爲.htaccess到website.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.local
或website.local/mobile
,我得到的移動網站,而當我去website.local/mobile/users/login
我得到了AJAX請求的正確JSON輸出。
如何讓我的mobile
子域在/mobile/
中保持活動狀態,但請求website.com/mobile/...
與最後一個重寫規則一起轉發?
謝謝!
謝謝迴應:)不幸的是,請求仍然沒有通過。我也嘗試在我的其他重定向之前放置重定向,但這也不起作用。 – Garrett 2012-04-17 22:01:39
你好,我一直在做一些測試,它看起來工作,你把代碼之前的文件/目錄聲明?我會做更多的測試,我會很快回復你。 – 2012-04-17 22:11:04
Hello @Garrett,你可以再次測試htaccess文件嗎?我剛剛用一個新文件編輯我的文章。 – 2012-04-17 22:52:42