5

我有一些文件需要在 http 中。我尝试了以下代码但不起作用。如何在 web.config 中为页面 page1、page2 设置强制 HTTP

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.webServer>
    <rewrite>
        <rules>
            <rule name="Force HTTP" stopProcessing="true">
                <match url="(.*)/page1.php" ignoreCase="false"/>
                                <match url="(.*)/page2.php" ignoreCase="false"/>
                <conditions> 
                    <add input="{HTTPS}" pattern="ON" ignoreCase="true"/>
                </conditions>
                <action type="Redirect" url="http://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
            </rule>
        </rules>
    </rewrite>
    </system.webServer>
</configuration>

我正在 IIS 7 Web 服务器中为 Windows 中的 PHP 应用程序工作

4

1 回答 1

3

您需要将规则更改为:

<rule name="Force HTTP" stopProcessing="true">  
  <match url="^page[12].php(.*)" />  
  <conditions>  
    <add input="{HTTPS}" pattern="^ON$" />  
  </conditions>  
  <action type="Redirect" url="http://{HTTP_HOST}/{R:0}" redirectType="Permanent" />  
</rule>  

将匹配任何以orurl="^page[12].php(.*)"开头的 url 。 该操作将请求重定向到包含请求路径的位置。page1.phppage2.php
https://{HTTP_HOST}/{R:0}{R:0}

于 2013-02-13T16:50:45.853 回答