2012-10-14 35 views
0

這讓我瘋狂......我試圖在apache(到移動站點)設置一個簡單的重定向,但它不工作。該模塊已啓用,並且將代碼添加到/ etc/apache2/sites-available中的虛擬主機主配置中。簡單的重寫在apache不工作

這是代碼,它只是沒有做任何事情... ...(我註釋掉的條件,看看是否有幫助 - 它沒有):

<IfModule mod_rewrite.c> 
RewriteEngine On 
#RewriteCond %{HTTP_USER_AGENT} "(android|blackberry|googlebot-mobile|iemobile|iphone|ipod|opera mobile|palmos|webos)" [NC] 
RewriteRule ^$ http://m.example.org/ [L,R=302] 
</IfModule> 

UPDATE:

如果我改變重定向到這一點,它的工作原理(不過當然,我不能使用條件):

Redirect/http://m.example.org/ 

這是爲什麼?這是怎麼回事?

回答

0

您有評論的的RewriteCond,從這裏

http://detectmobilebrowsers.com/

+0

請仔細閱讀 –

+0

對不起,試着取消註釋並刪除雙引號。然後嘗試將您的用戶代理更改爲一個來修復表達式。 –

0

試試這個刪除# 「的RewriteCond」

之前生成自己的.htaccess,沒有括號的RewriteCond。我測試了這個,它適用於我。

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|iphone|ipod|opera mobile|palmos|webos" [NC] 
    RewriteRule ^$ http://m.example.org/ [L,R=302] 
</IfModule> 
+0

不行,不起作用。我評論了這種情況,所以所有請求都應該重定向,但是不起作用... –

+0

問題可能在其他地方。嘗試不使用來查看它是否可行。如果模塊不可用,它應該會給你一個錯誤信息。 – Pettis

+0

我已經測試並確認塊被執行(模塊已啓用) –