嘿,有StackOverflow社区,我在stackoverflow上搜索了很多来修复我的“太多重定向”错误。 但找不到任何有用的东西。我想通过.htaccess和UserAgent条件重定向到移动目录。找到一个高投票的解决方案,如下所示:
RewriteEngine On RewriteCond %{HTTP_USER_AGENT} "android|blackberry|iphone|ipod|ipad|iemobile" [NC] RewriteRule ^(.*)$ http://mysite.com/mobile/$1 [R=301,L]
重定向本身效果很好,但似乎移动浏览器在循环中添加/移动,因此URL增长到类似http://mysite.com/mobile/mobile/mobile/mobile/mobile/mobile/mobile/mobile的内容,直到我收到错误“由于重定向太多而无法打开网站”
我的完整.htaccess看起来像这样:
AddType video/ogg .ogv AddType video/mp4 .mp4 AddType video/webm .webm RewriteEngine On RewriteCond %{HTTP_USER_AGENT} "android|blackberry|iphone|ipod|ipad|iemobile" [NC] RewriteRule ^(.*)$ http://mysite.com/mobile/$1 [R=301,L]
先谢谢Lucas Tito
答案 0 :(得分:2)
将此RewriteRule
替换为:
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|iphone|ipod|ipad|iemobile" [NC]
RewriteRule ^((?!mobile/).*)$ /mobile/$1 [R=301,L]
问题是,您无条件地在任何网址前加/mobile/
前缀,即使是已经以/mobile/
开头的网址。