如果這不是您的.htaccess文件中的唯一規則,那麼您可能會遇到以下規則混淆重定向的問題。要立即重定向,您需要包含L
標誌。
我還懷疑用戶代理的正則表達式可能對您測試的輸入不正確,因爲兩個.
只匹配單詞「BlackBerry」兩側的一個字符。用一個檢查來防止重定向循環也是一個好主意,看看你是否已經在/m/
(儘管如果你在那個目錄的.htaccess文件中有mod_rewrite指令,這並不重要)。
把所有的一起,我們得到類似如下:
# Check for x-wap-profile/Profile headers
RewriteCond %{HTTP:x-wap-profile} !^$ [OR]
RewriteCond %{HTTP:Profile} !^$ [OR]
# Check for BlackBerry anywhere in the user agent string
RewriteCond %{HTTP_USER_AGENT} BlackBerry [NC]
# Make sure we're not in /m/ already
RewriteCond %{REQUEST_URI} !^/m/
RewriteRule^http://example.com/m/ [R=301,L]
你也可以說RewriteRule
是...
RewriteRule ^.*$ http://example.com/m/$0 [R=301,L]
...如果內容被命名爲/m/
目錄中的相同(但適用於移動設備)。
即使我添加並嘗試過我的黑莓它不會工作,這是我的.htaccess的唯一規則,所以它不應該搞亂任何= /是否有另一個原因,它可能不工作?我以前從來沒有這樣做過誠實 – Tsundoku 2010-09-20 02:49:12
@Luis Armando:嗯......可以肯定的是,你有'RewriteEngine On'在那裏呢?我現在沒有看到任何可能會出錯的東西,除非出於某種原因'HTTP_USER_AGENT'被設置爲奇怪的東西,但看起來不太可能。之後我會把它放到我的測試服務器上,看看我的眼睛是否只是缺少一些明顯的東西。 – 2010-09-20 04:02:01
想念RewriteEngine On ...我覺得很愚蠢:(但是非常感謝:) – Tsundoku 2010-09-20 20:52:18