2017-10-13 2 views
1

Ich habe WP auf einem IIS-Server im Stammordner installiert. Das funktioniert mit hübschen Permalinks.web.config funktioniert nicht mit WordPress Permalinks im Unterordner

Es gibt auch eine andere Wordpress bei /development installieren, die folgenden web.config verwendet

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

jedoch ziemlich permalinks arbeitet nicht auf dieser Seite in dem Unterordner

Die Homepage aber dies funktioniert Unterordner und wenn einfache Permalinks ausgewählt sind

Irgendwelche Ideen warum?

Antwort

2

Stellen Sie sicher, dass der Stammordner (für den primären Standort) und der Unterordner (für den sekundären oder/shop) jeweils eine eindeutige web.config-Datei enthält.

In der Datei web.config Ihres Unterordners müssen Sie die Regel entfernen, die im Stammordner festgelegt wurde. In unserem Fall wurde die Wordpress-Rewrite-Regel im Stammordner festlegen „PrimarySite“ genannt, so in der web.config des Unterordner haben wir:

<remove name="PrimarySite"/> 

Und das ist alles, es zu bekommen hat, um die Dinge zu arbeiten. Einfach, was?

3

Die Antwort, wie pee2pee sagt, ist, diese Zeile im Code zu platzieren.

<remove name="YourRuleName"/> 

Um dies zu tun, müssen Sie zunächst die Datei web.config des Stammverzeichnisses anzeigen und nach dieser Zeile suchen.

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

und kopieren Sie die Zeile in der Datei web.config Ihr Verzeichnisses oder Unterordner „YourRuleName“ auf den Namen zu ändern Sie in der Datei web.config der Wurzel gefunden gerade über dem ersten Tag.

Dann web.config Datei des Unterverzeichnis sollte wie folgt aussehen

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
    <rewrite> 
     <rules> 
      <remove name="YourRuleName"/> 
      <rule name="YourSubFolderRuleName" 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> 
    </system.webServer> 
</configuration> 

Ich hoffe, dass es hilfreich ist, für mich ist es gewesen.

Verwandte Themen