我一直在研究已有應用程序的iPhone版本。mod_rewrite和iPhone重定向
我們使用一些改寫規則來改善搜索引擎優化,讓訪問者更輕鬆。 例如。 http://www.site.com/index.php?job=4ef187d6e66b7改寫爲http://www.site.com/jobs/4ef187d6e66b7
我們還使用規則將所有iPhone用戶重定向到我們的移動網站,如下:
RewriteCond %{HTTP_USER_AGENT} iPhone
RewriteCond %{REQUEST_URI} !^/m/
RewriteRule .* /m/ [R]
移動網站只是位於www.site.com/m/
但是,當我前往了http://www.site.com/jobs/4ef187d6e66b7,我越來越重定向到http://www.site.com/m/?job=4ef187d6e66b7,而應該是http://www.site.com/m/jobs/4ef187d6e66b7
有沒有辦法來重定向人,仍然保持一些日。現有規則? 我也想加入這個規則,但沒有奏效
RewriteRule ^m/jobs/([^/]+) m/index.php?job=$1 [NC]
這是一個完整的.htaccess
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^jobs/([^/]+) index.php?job=$1 [NC]
RewriteCond %{HTTP_USER_AGENT} iPhone
RewriteCond %{REQUEST_URI} !^/m/
RewriteRule .* /m/ [R]
這似乎起初工作,url不會被正確重寫。 但形成一些理由似乎並沒有工作:_請求的URL/m/jobs/4ef9a591edc33在此服務器上找不到._ – 2012-01-02 12:21:03
這意味着重寫IS工作! iPhone現在重定向到**/m /...**。您現在應該正確處理'/ m/...'URL。如果你想在最後的重寫規則中加入,你應該相應地修改它。我將編輯我的答案以反映這一點。 – bouke 2012-01-02 12:48:37
謝謝,重寫確實有效。 我現在只是遇到了另一個問題,當我轉到http://www.site.com/jobs/4ef9a591edc33時,我被重定向到了http://www.site.com/m/index。 php?job = 4ef9a591edc33 哪個是正確的url,但它應該顯示爲http://www.site.com/m/jobs/4ef9a591edc33 – 2012-01-02 13:19:24