Redirect 将HTTP重定向到HTTPS,除了一个带有web.config的页面
我想将所有页面从HTTP重定向到HTTPS,除了根目录中的一个页面(pagename.php),该页面需要作为HTTP(需要重定向回HTTP)工作。我目前有以下代码从none www重定向到www,从HTTP重定向到HTTPSRedirect 将HTTP重定向到HTTPS,除了一个带有web.config的页面,redirect,iis,web-config,Redirect,Iis,Web Config,我想将所有页面从HTTP重定向到HTTPS,除了根目录中的一个页面(pagename.php),该页面需要作为HTTP(需要重定向回HTTP)工作。我目前有以下代码从none www重定向到www,从HTTP重定向到HTTPS 您需要使用negate=“true”的条件为php文件添加异常 <rule name="Redirect to HTTPS"> <match url="(.*)" /> <conditions>
您需要使用negate=“true”的条件为php文件添加异常
<rule name="Redirect to HTTPS">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="OFF"/>
<add input="{URL}" pattern="(.*).php" negate="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{HTTP_URL}" redirectType="Permanent" appendQueryString="false" />
</rule>
<!--EDIT-->
<rule name="Redirect to HTTP">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="ON"/>
<add input="{URL}" pattern="(.*).php" />
</conditions>
<action type="Redirect" url="http://{HTTP_HOST}{HTTP_URL}" redirectType="Permanent" appendQueryString="false" />
</rule>
您好,谢谢您的回答,我已经尝试过了,但问题是,我的页面被重定向到HTTPS,当它传递到mypage.php页面时,仍然保持为HTTPS,我需要将其重定向回HTTP或保持为HTTP而不是HTTPS。请注意,从我的html链接的php文件如下:
我编辑了答案,添加了另一个将php页面重定向到HTTP的规则:当链接为HTTPS时:。但是在你的评论中,你说链接是../mypage.php,所以我的建议是让你的表单操作是一个完整的url,比如http://www.domain.com/mypage.php
。但是如果你不能做到这一点,那么这个额外的规则应该可以做到。谢谢你,但它不会起作用,它说“页面没有正确重定向”。我试图添加完整的URL,但当我点击提交按钮时,它会在将表单HTTPS传递到HTTP页面时发出安全警告。嗯,我在自己的网站上尝试了这些规则,它们工作得非常好。你确定代码中没有其他重定向吗?尝试清空缓存。另外,当你把完整的网址,你使用www?如果你不这样做,你的第一条规则可能会产生干扰。