.htaccess重写导致无限循环

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.htaccess重写导致无限循环相关的知识,希望对你有一定的参考价值。

我有一个.htaccess代码,可以将智能手机上的每个用户重定向到兼容的网站:

RewriteEngine On
RewriteEngine On
RewriteCond %{QUERY_STRING} !^desktop
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|iphone|ipod|#opera mobile|palmos|webos" [NC]
RewriteRule ^ http://logo.artliner.co.il//mobile.html%{REQUEST_URI} [R,L]

此代码导致无限循环,如下所示:http://logo.artliner.co.il//mobile.html/mobile.html/mobile.html/mobile.html/mobile.html/mobile.html/mobile.html/

你能帮我解决这个问题并停止循环吗?谢谢!

答案
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{QUERY_STRING} !^desktop
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|iphone|ipod|#opera mobile|palmos|webos" [NC]
RewriteRule !^mobile.html$ /mobile.html [R,L]

只有在请求URI模式不完全符合RewriteRule时才会应用mobile.html

以上是关于.htaccess重写导致无限循环的主要内容,如果未能解决你的问题,请参考以下文章

.htaccess使用无限参数重写规则

为啥这会导致无限请求循环?

为啥这会导致无限请求循环?

htaccess 和 GEOIP 无限循环

.htaccess 不存在的 url 的无限循环

添加额外的 Apache2 重写而无需无限重定向