2012-10-14 32 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

我已经测试并确认块被执行(模块已启用) –