2013-09-25 88 views
2

嘿有StackOverflow社区,我搜索了很多关于stackoverflow来解决我的“太多重定向”错误。 但找不到任何有用的东西。我想通过.htaccess和UserAgent条件重定向到移动目录。发现高投票解决方案,看起来像这样:.htaccess将301重定向到移动目录 - 太多重定向错误

 
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直到我得到一个错误“couldn由于重定向太多而无法打开网站“。

我的完整的.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]

由于提前,卢卡斯铁托

+0

发生过很多次。 htaccess可能位于http://mysite.com/mobile的某个文件夹内吗?这将是一个递归重定向。 – opalenzuela

回答

2

替换您RewriteRule本:

RewriteCond %{HTTP_USER_AGENT} "android|blackberry|iphone|ipod|ipad|iemobile" [NC] 
RewriteRule ^((?!mobile/).*)$ /mobile/$1 [R=301,L] 

问题是,你无条件的前缀/mobile/之前的任何网址,即使已经以/mobile/开头。

+0

注意:如果在移动文档中使用intern链接,他们必须指向该文件夹内的文档,否则会再次出现重定向循环错误。例如,我尝试链接到一个电影文件../src/video.mp4。 – TITO

+0

@TITO:希望这个答案可以解决你发布的问题。如果遇到新问题,请随时发布一个新问题,并附上指向该问题的链接,以便可以独立解决问题。 – anubhava