如果这不是您的.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