Apache htaccess重写条件在internet explorer中不起作用
我们有多个相同代码的网站。问题是,这在Firefox、Chrome等浏览器中正常工作,但在IE中不起作用 我的建议是internet explorer发送不同/不正确的HTTP\U主机。但我不明白为什么。有人能帮我找到正确的方向吗。 我已经在下面发布了htaccess文件 代码应该做什么: 1.检查请求是否针对站点地图 2.将www重定向到http 3.如果网站不是website.nl,请使用http 4.如果网站是website.nl,请使用https 5.将request.php文件用于所有请求Apache htaccess重写条件在internet explorer中不起作用,apache,.htaccess,internet-explorer,Apache,.htaccess,Internet Explorer,我们有多个相同代码的网站。问题是,这在Firefox、Chrome等浏览器中正常工作,但在IE中不起作用 我的建议是internet explorer发送不同/不正确的HTTP\U主机。但我不明白为什么。有人能帮我找到正确的方向吗。 我已经在下面发布了htaccess文件 代码应该做什么: 1.检查请求是否针对站点地图 2.将www重定向到http 3.如果网站不是website.nl,请使用http 4.如果网站是website.nl,请使用https 5.将request.php文件用于所有
RewriteEngine On
RewriteBase /
RewriteRule ^sitemap\.xml/?$ generate_sitemap.php [NC,L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^(www\.)?website.nl$ [NC]
RewriteCond %{HTTP_HOST} ^$
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^(www\.)?website.nl$ [NC]
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^((.|/)*)$ /request.php?path=$1 [QSA,L]
Internet Explorer不太可能发送比Chrome和Firefox更多的
主机
头。可能您看到的是Internet Explorer缓存了一个旧的、错误的重写规则(您使用的是301
永久重定向,它们会缓存在浏览器中)。也可能是Chrome和Firefox缓存了一条旧规则
请清除浏览器缓存或使用专用/匿名模式,然后重试
我建议您使用302
临时重定向,直到您确认所有规则都正常工作
如果上述内容确实有助于您解决问题:
您可以在此处测试重写规则:
通过按F12/networking view,您可以在Internet Explorer的开发者控制台中查看请求头,包括主机头
还要检查Internet Explorer和调制解调器/路由器设置,以验证您是否意外使用了代理。我发现它处于无限循环中。仅在internet explorer中。它一直连接到。所以我一直在扮演https://%{HTTP_HOST}%{REQUEST_URI}[R=301,L]找到了解决方案:不得不更改https!=正在重写cond%{SERVER\u PORT}!非常感谢