Windows IIS上的固定链接不起作用,Web.config破坏站点-WordPress现在不支持Windows服务器吗,如果是的话,是如何支持的?

时间:2020-06-18 作者:STing

我有一个大型wordpress站点,我从AWS/Linux迁移到另一个主机,即Windows Server 2016。

我已经在wordpress上开发了多年,但这是我不久后第一次回到Windows server上。

我记得当更新wordpress时,它会写一个web。将更新该目录的重写结构的配置文件。现在重写基本上被打破了,因为你不应该有破坏网站的管理选择。

开箱即用的Windows+IIS您的重写必须包含索引。php中的函数或直接转到post id。

奇怪的是,当你选择permalink-/%category%/%postname%/时,它是404,但如果你手动添加索引。php在url中的类别之前工作。

那么,这在Windows server上现在应该如何工作呢?我在猜测网络。未使用配置。wordpress开发人员是否放弃了windows服务器,而我们只是在IIS中编写重写规则?我只是想弄清楚具体情况,因为我还有大约5个站点要迁移,并希望获得最佳实践(当然不是真正的服务器最佳实践,而是wordpress的最佳实践,因为其他在迁移后接管站点的站点将没有那么技术性)。

请注意,我确实尝试打开网络。配置,它给出了一个500。更改永久链接在服务器上没有任何作用-没有添加。htaccess也不是一个新网站。配置。如果你需要任何其他信息,请告诉我。

3 个回复
最合适的回答,由SO网友:STing 整理而成

我相信这个问题在最近的WP版本中已经修复,但不确定是在哪个版本中修复的。但在旧版本的WP中,规则名称为;规则名称;总是一样的。名称必须唯一,否则IIS mod会出错。

如果要复制完整的站点进行备份或开发,也会遇到这种情况。

SO网友:hatted

从下载IIS重写https://www.iis.net/downloads/microsoft/url-rewrite.安装并重新启动IIS

然后修改web。configEdit web。config,添加重写代码。

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

    </system.webServer>
</configuration>

SO网友:korkut ozkan

您应该安装;URL重写;模块并重新启动服务器,而不仅仅是iis服务。然后重新配置“;永久链接设置;。

相关推荐

尝试在WSL Windows 10上安装WordPress,但遇到wp-cli和“wp db create”的问题

好的,下面是本教程:https://hellojason.net/blog/how-to-setup-wordpress-locally-on-windows-subsystem-for-linux/为了让MySQL正常工作,我不得不做了大量的胡闹,因为在最初安装MySQL时,出于某种原因,它没有要求我提供root密码,所以我不得不进去给它一个。我按照上面的说明将WP安装到一个文件夹中,然后开始创建配置文件的过程,但我不能,因为我遇到了以下错误:wp config create --dbname=jack