.net 子目录中的web.config不';无法在根目录中使用web.config

.net 子目录中的web.config不';无法在根目录中使用web.config,.net,wordpress,iis,url-rewriting,web-config,.net,Wordpress,Iis,Url Rewriting,Web Config,我在我的Web服务器上安装了3个Wordpress,一个在根文件夹中,两个在子目录(iis)中: 它们都有一个web.config。如果我从根目录中删除web.config,子wp中的URL工作得非常好。如果我再添加一次,链接会指向正确的位置,但当你点击时,我会被重定向到根目录上的对应页面。例如: www.site.com/wp_one/contact重定向到www.site/contact web.config内容(它们具有相同的内容): 当您有多个配置文件时,它们会在运行时合并为一个配置文件

我在我的Web服务器上安装了3个Wordpress,一个在根文件夹中,两个在子目录(iis)中:

它们都有一个web.config。如果我从根目录中删除web.config,子wp中的URL工作得非常好。如果我再添加一次,链接会指向正确的位置,但当你点击时,我会被重定向到根目录上的对应页面。例如: www.site.com/wp_one/contact重定向到www.site/contact

web.config内容(它们具有相同的内容):


当您有多个配置文件时,它们会在运行时合并为一个配置文件。也就是说,当您的根目录中有一个web.config时,子路径会在其中合并,因为您的路径不是相对的,所以它们会变得无效

为了解决此问题,您必须基于最顶层的web.config使路径相对

/
/wp_one
/wp_two
<?xml version="1.0" encoding="UTF-8"?>
  <configuration>
    <system.webServer>
      <rewrite>
        <rules>
          <rule name="wp" stopProcessing="true">
            <match url=".*"/>
              <conditions>
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
              </conditions>
              <action type="Rewrite" url="index.php"/>
            </rule>
        </rules>
      </rewrite>
    </system.webServer>
</configuration>