6

我正在将 WordPress 博客从 Apache 移动到 IIS。这只是几个星期,直到我把它换掉。但我只能访问主页。其他一切都会引发错误。

我认为我的问题出在 .htaccess 文件中:

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

IIS 是否有与此等价的东西?

谢谢。

4

4 回答 4

10

我想你会在这里找到答案 - How To Set Pretty Permalinks in Wordpress Runs On IIS 7我想你需要将一个 web.config 文件放在根文件夹中,如:

<?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>
于 2011-02-10T04:47:10.837 回答
2

“漂亮”的永久链接通常需要 mod_rewrite,而 IIS(常见于 Windows 服务器)不支持 mod_rewrite。

检查 Wordpress Codex,特别是Permalinks without Mod Rewrite部分,因为它包含有关您环境中永久链接的信息(下面的一些信息,请查看链接以获取完整信息,因为它是官方文档):

如果您使用的是 IIS 7 并且在您的服务器上拥有管理员权限,则可以改用 Microsoft 的 URL 重写模块。虽然与 mod_rewrite 不完全兼容,但它确实支持 WordPress 漂亮的永久链接。安装后,打开 WordPress 文件夹中的 web.config 文件并将以下规则添加到 system.webServer 元素。

<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>
于 2009-11-23T12:39:21.513 回答
1

“漂亮”的永久链接通常需要 mod_rewrite,而 IIS(常见于 Windows 服务器)不支持 mod_rewrite。

无论您使用的是 IIS6 还是 7,您还可以在 IIS 上使用重写引擎 - 其中许多支持 mod_rewrite 语法。
IIRF是一个很好的,适用于 IIS6 和 7。(Vista,WS2003,2008)。

于 2009-11-25T20:33:18.033 回答
0

结束了新安装的 WordPress,然后有选择地导入表格。

问题当然是永久链接。但我发现修复它的最简单方法是使用与旧站点相同的结构永久链接(幸运的是它还没有被删除,所以我可以在管理员中找到它),然后导入除用户表之外的所有内容。

如果您导入用户表,您将失去新设置的管理员登录名。

于 2009-11-23T20:54:05.817 回答