2009-11-22 8 views
6

Ich verschiebe einen WordPress Blog von Apache zu IIS. Es ist nur für ein paar Wochen, bis ich es geändert habe. Aber alles, was ich erreichen kann, ist die Homepage. Alles andere wirft Fehler.Alternative zu Apache .htaccess-Datei für IIS?

Ich glaube, mein Problem in der .htaccess-Datei ist:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
#END WordPress 

Gibt es etwas das Äquivalent für IIS?

Danke.

+2

Sind Sie IIS oder Apache unter Windows verwenden? –

+0

zusätzlich, welche Art von Fehler wirft es? –

+0

Verwenden von IIS. Der Fehler: Wenn ich auf einen Link klicke, der ein Unterverzeichnis wie mysite.com/news hat, bekomme ich einen 404 Fehler. Wenn ich /index.php in der Adressleiste hinzufüge, bekomme ich keine Eingabedatei angegeben. – user80151

Antwort

2

"Pretty" permalinks usually require mod_rewrite, and IIS (common on Windows servers) does not support mod_rewrite.

überprüfen Wordpress Codex, speziell Permalinks Without Mod Rewrite Abschnitt, da es Informationen über Permalinks in Ihrer Umgebung (einige Informationen unten, überprüfen Sie den Link für weitere Informationen an, da die offizielle Dokumentation ist):

If you are using IIS 7 and have admin rights on your server, you can use Microsoft's URL Rewrite Module instead. Though not completely compatible with mod_rewrite, it does support WordPress's pretty permalinks. Once installed, open the web.config file in the WordPress folder and add the following rule to the system.webServer element.

<rewrite> 
    <rules> 
     <rule name="Main Rule" stopProcessing="true"> 
      <match url=".*" /> 
      <conditions logicalGrouping="MatchAll"> 
       <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> 
0

Verwunden Sie eine neue Installation von WordPress und importieren Sie dann selektiv die Tabellen.

Das Problem waren natürlich die Permalinks. Aber ich fand den einfachsten Weg, um es zu beheben, war es, die gleiche Struktur permalinks die alte Seite zu verwenden (zum Glück wurde es noch nicht gelöscht, so dass ich es im Admin finden konnte) und dann alles außer den Benutzertabellen importieren.

Wenn Sie die Benutzertabellen importieren, verlieren Sie die Admin-Anmeldung von der neuen Einrichtung.

1

"Pretty" permalinks usually require mod_rewrite, and IIS (common on Windows servers) does not support mod_rewrite.

, ob Sie mit IIS 6 oder 7, können Sie auch eine Rewriting Engine auf IIS verwenden - viele von ihnen mod_rewrite Syntax unterstützen.
IIRF ist ein guter, funktioniert mit IIS6 und 7. (Vista, WS2003, 2008).

10

Ich glaube, Sie hier die Antwort finden würde - How To Set Pretty Permalinks in Wordpress Runs On IIS 7 Ich glaube, Sie brauchen eine web.config-Datei im Stammordner stellen wie:

<?xml version="1.0"?> 
<configuration> 
<system.webServer> 
<defaultDocument> 
    <files> 
    <remove value="index.php" /> 
    <add value="index.php" /> 
    </files> 
</defaultDocument> 
<rewrite> 
<rules> 
    <rule name="Main Rule" stopProcessing="true"> 
     <match url=".*" /> 
     <conditions logicalGrouping="MatchAll"> 
      <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
      <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
     </conditions> 
     <action type="Rewrite" url="index.php/{R:0}" /> 
    </rule> 
</rules> 
</rewrite> 
</system.webServer> 
</configuration>