子目录中的web.config不适用于根目录中的web.config存在

时间:2011-09-30 11:24:42

标签: .net wordpress iis url-rewriting web-config

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

/
/wp_one
/wp_two

他们都有一个web.config。如果我从根目录中删除web.config,则子wp中的URL工作得很好。如果我再次添加它,链接指向正确的位置,但是当您单击时,我被重定向到root上的对应页面。例如: www.site.com/wp_on​​e/contact重定向到www.site/contact。

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

<?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>

1 个答案:

答案 0 :(得分:0)

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

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