从 iis7 中的 wordpress URL 中删除 index.php

Posted

技术标签:

【中文标题】从 iis7 中的 wordpress URL 中删除 index.php【英文标题】:Remove index.php from wordpress URLs in iis7 【发布时间】:2012-08-19 19:42:14 【问题描述】:

我想从 url 中删除 index.php,我正在使用 wordpress 和 iis7。 我该怎么做呢

【问题讨论】:

这些答案中的任何一个解决了您的问题吗? 【参考方案1】:

使用这个 web.config

(web.config是IIS相当于apache webservers中的.htaccess文件,可以在根目录下找到,如果没有,需要创建一个。)

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
 <defaultDocument>
     <!-- Set the default document -->
      <files>
        <remove value="index.php" />
        <add value="index.php" />
      </files>
    </defaultDocument>
        <httpErrors errorMode="Detailed"/>
    <rewrite>
        <rules>
            <rule name="wordpress" 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>

然后在永久链接页面中,设置“自定义结构”并给出值/%postname%/

请注意,需要安装特定于 IIS 版本的 URL 重写模块才能运行(感谢下面@Spikolynn 的评论)

【讨论】:

web.config 在哪里 web.config 是 IIS 等效于 apache 网络服务器中的 .htaccess 文件。它可以在根文件夹中找到。如果没有,则需要创建一个。 我不是wordpress开发者,但经过多日研究终于找到了解决办法。 您需要安装 URL 重写模块才能运行:iis.net/downloads/microsoft/url-rewrite @Spikolynn 是对的。我会把它添加到答案中【参考方案2】:

在您使用 Windows Azure 网站的情况下,另一个非常快速的解决方案是使用 Microsoft WebMatrix 登录到您的网站并创建一个 web.config 文件 as this article pointed out。这样就解决了。无需自己安装URL Rewrite extension 或类似的东西。 MS Webmatrix 似乎很容易解决这个问题。

【讨论】:

以上是关于从 iis7 中的 wordpress URL 中删除 index.php的主要内容,如果未能解决你的问题,请参考以下文章

Windows 2008 R2上配置IIS7或IIS7.5中的URLRewrite(URL重写)实例

从 WordPress 中的 URL 中提取参数

在 IIS7 中将 URL 从 https:// 重写为 http://

Wordpress - 从 url 为内存中的所有页面保留一个变量

php 从Wordpress中的url中删除CSS和JS的版本

如何从 wordpress 中的帖子页面 id 获取 acf 的画廊图片 url