web.config无法使用子文件夹中的WordPress永久链接

时间:2017-10-13 11:34:24

标签: wordpress iis web-config

我在根文件夹中的IIS服务器上安装了WP。这适用于非常永久链接。

/development还有另一个wordpress安装,它使用以下web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
            <rule name="WordPress1" patternSyntax="Wildcard">
                <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>
    <staticContent>
      <clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00"/>
      <remove fileExtension=".woff"/>
      <remove fileExtension=".woff2"/>
      <mimeMap fileExtension=".woff" mimeType="application/x-font-woff"/>
      <mimeMap fileExtension=".woff2" mimeType="application/font-woff2"/>
    </staticContent>

  </system.webServer>
</configuration>

但是,在子文件夹

中,相当固定链接无法在此站点上运行

但是,如果选择了普通永久链接,则该子文件夹的主页可以正常工作

任何想法为什么?

2 个答案:

答案 0 :(得分:6)

pee2pee说的答案是将该行放在代码中。

<GoogleMap ref={props.zoomToMarkers} defaultZoom={5} defaultCenter={{ lat: 25.0391667, lng: 121.525 }}>
    {props.markers.map(marker => (
        <Marker
            key={marker.id}
            position={{ lat: marker.lat, lng: marker.lng }}
        />
    ))}
</GoogleMap>

要执行此操作,您必须首先查看root的web.config文件并查找此行。

<remove name="YourRuleName"/>

然后复制目录或子文件夹的web.config文件中的行,将“YourRuleName”更改为您在第一个标记上方的根目录的web.config文件中找到的名称。

然后,子文件夹的web.config文件应该看起来像

<rule name = "YourRuleName" patternSyntax = "Wildcard">

我希望它对我有帮助。

答案 1 :(得分:3)

确保根文件夹(提供主站点)和子文件夹(辅助站点/ / shop所在的站点)各自具有唯一的web.config文件。

在子文件夹的web.config文件中,您需要删除根文件夹中设置的规则。在我们的例子中,根文件夹中的WordPress重写规则集被称为“PrimarySite”,所以在子文件夹的web.config中我们有:

<remove name="PrimarySite"/>

这就是让事情发挥作用的全部。简单,嗯?