为什么我的 IIS 301 永久重定向重写持久化/不恢复?
Why is my IIS 301 permanent redirect rewrite persistent / not reverting?
对不起我的英语不好。我到处搜索并尝试了我找到的文章但没有工作所有部分。
我有 olddomain.com 没有 ssl 证书。我用 ssl.
买了新域名 newdomain.com
我想:
- 使用 https
将所有 olddomain.com 重定向到 newdomain.com
- 重定向https://olddomain.com to https://www.newdomain.com
- 重定向所有 http 或 https://newdomain.com to https://www.newdomain.com
我在网络配置中应用了以下代码。当我在服务器中尝试时它工作正常。但是没用 google 控制台,在我的任何浏览器中都包括移动设备。
<rewrite>
<rules>
<clear />
<rule name="Force WWW, SSL and NewDomain" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="(http://)?(www)?olddomain\.(com)" />
<add input="{HTTP_HOST}" pattern="(https://)?(www)?olddomain\.(com)" />
<add input="{HTTP_HOST}" pattern="^[^www]" />
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://www.newdomain.com/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
在这种情况下,当我尝试:
- olddomain.com --> https://olddomain.com or www.olddomain.com --> https://olddomain.com 不起作用。
- olddomain.com/tr/ --> https://www.newdomain.com/tr/ 工作正常。
- newdomain.com/ --> https://www.newdomain.com/tr/ 工作正常。
这是给你的真实的:
当我打开这个地址时,http://www.gurmeliquid.com/tr/elektronik-sigara-likit-antalya it's change and redirect this address and not correctly working https://www.gurmeliquid.com/tr/elektronik-sigara-likit-antalya
但是,我打开这个地址,http://www.gurmeliquid.com/tr/elektronik-sigara-likit-cesitleri
它的更改并正确重定向此地址 https://www.gurmeliquids.com/tr/elektronik-sigara-likit-cesitleri
所以,发生了什么事,我哪里做错了?
您有本地缓存问题。
我觉得你的 web.config
不错 & http://www.gurmeliquid.... is redirecting correctly for me to https://www.gurmeliquids...。
要求:
GET /tr/elektronik-sigara-likit-antalya HTTP/1.1
Host: www.gurmeliquid.com
回复:
HTTP/1.1 301 Moved Permanently
Content-Type: text/html; charset=UTF-8
Location: https://www.gurmeliquids.com/tr/elektronik-sigara-likit-antalya
Server: Microsoft-IIS/10.0
Date: Wed, 06 Oct 2021 13:32:06 GMT
Content-Length: 186
我认为原因是您一直在测试多个 web.config
变体,这些变体之前为 other 端点返回了 301 Moved Permanently
。
您的浏览器将永久“缓存”此内容,您唯一的解决方法是重定向到同一端点 两次 服务器端或清除本地缓存。
清除缓存因不同浏览器而异,但对于 Chrome,打开开发人员工具 (F12) 中的“网络”选项卡,加载页面,然后右键单击请求并 select “清除浏览器缓存”。刷新并希望它会起作用。
如果这不起作用,您唯一的方法就是重定向循环。
当浏览器检测到重定向循环时,它会尝试清除其缓存并从服务器获取最新的 URI 位置,因此请尝试重定向两次以防您的浏览器缓存了以前的开发 web.config
s 指向到其他端点。
先尝试清除浏览器中的缓存,然后再使用临时双重重定向来解决您的问题。
对不起我的英语不好。我到处搜索并尝试了我找到的文章但没有工作所有部分。 我有 olddomain.com 没有 ssl 证书。我用 ssl.
买了新域名 newdomain.com我想:
- 使用 https 将所有 olddomain.com 重定向到 newdomain.com
- 重定向https://olddomain.com to https://www.newdomain.com
- 重定向所有 http 或 https://newdomain.com to https://www.newdomain.com
我在网络配置中应用了以下代码。当我在服务器中尝试时它工作正常。但是没用 google 控制台,在我的任何浏览器中都包括移动设备。
<rewrite>
<rules>
<clear />
<rule name="Force WWW, SSL and NewDomain" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="(http://)?(www)?olddomain\.(com)" />
<add input="{HTTP_HOST}" pattern="(https://)?(www)?olddomain\.(com)" />
<add input="{HTTP_HOST}" pattern="^[^www]" />
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://www.newdomain.com/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
在这种情况下,当我尝试:
- olddomain.com --> https://olddomain.com or www.olddomain.com --> https://olddomain.com 不起作用。
- olddomain.com/tr/ --> https://www.newdomain.com/tr/ 工作正常。
- newdomain.com/ --> https://www.newdomain.com/tr/ 工作正常。
这是给你的真实的: 当我打开这个地址时,http://www.gurmeliquid.com/tr/elektronik-sigara-likit-antalya it's change and redirect this address and not correctly working https://www.gurmeliquid.com/tr/elektronik-sigara-likit-antalya
但是,我打开这个地址,http://www.gurmeliquid.com/tr/elektronik-sigara-likit-cesitleri 它的更改并正确重定向此地址 https://www.gurmeliquids.com/tr/elektronik-sigara-likit-cesitleri
所以,发生了什么事,我哪里做错了?
您有本地缓存问题。
我觉得你的 web.config
不错 & http://www.gurmeliquid.... is redirecting correctly for me to https://www.gurmeliquids...。
要求:
GET /tr/elektronik-sigara-likit-antalya HTTP/1.1
Host: www.gurmeliquid.com
回复:
HTTP/1.1 301 Moved Permanently
Content-Type: text/html; charset=UTF-8
Location: https://www.gurmeliquids.com/tr/elektronik-sigara-likit-antalya
Server: Microsoft-IIS/10.0
Date: Wed, 06 Oct 2021 13:32:06 GMT
Content-Length: 186
我认为原因是您一直在测试多个 web.config
变体,这些变体之前为 other 端点返回了 301 Moved Permanently
。
您的浏览器将永久“缓存”此内容,您唯一的解决方法是重定向到同一端点 两次 服务器端或清除本地缓存。
清除缓存因不同浏览器而异,但对于 Chrome,打开开发人员工具 (F12) 中的“网络”选项卡,加载页面,然后右键单击请求并 select “清除浏览器缓存”。刷新并希望它会起作用。
如果这不起作用,您唯一的方法就是重定向循环。
当浏览器检测到重定向循环时,它会尝试清除其缓存并从服务器获取最新的 URI 位置,因此请尝试重定向两次以防您的浏览器缓存了以前的开发 web.config
s 指向到其他端点。
先尝试清除浏览器中的缓存,然后再使用临时双重重定向来解决您的问题。