首页 > 解决方案 > 使用 ASP.NET 站点在 IIS 上运行 WordPress

问题描述

我正在尝试在 Windows Server 2012 R2 中运行 WordPress,但在显示除 WordPress 主页之外的其他 WordPress 页面时遇到了问题。

WordPress 文件位于 ex。wordpress 文件夹。

因此这些网站可以在以下位置访问;
example.com/ - 成功返回 ASP.NET 网站
example.com/wordpress - 成功返回 WordPress 主页网站

但是当我访问不同的 WordPress 页面时,例如。
example.com/wordpress/about-us – 我收到一条错误消息

“/”应用程序中的服务器错误。

无法找到该资源。

说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。
请求的 URL:/wordpress/about-us
版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.7.2106.0

*已使用此设置设置固定链接
example.com/wordpress/%postname%

*我也尝试在 IIS 管理器上进行 URL 重写,但它不起作用。在 ASP.NET web.config 上它显示:

<rule name=”wordpress” enabled=”true” patternSyntax=”ECMAScript” stopProcessing=”true”&gt;
    <match url=”(wordpress/about-us).*” />
    <action type=”Rewrite” url=”index.php” />
    <conditions logicalGrouping=”MatchAny”&gt;
        <add input=”{REQUEST_FILENAME}” matchType=”IsFile” />
        <add input=”{REQUEST_FILENAME}” matchType=”IsDirectory” />
    </conditions>
</rule>

WordPress 版本:5.6
PHP 版本:7.3.24
IIS 版本:8.5

有人能帮我吗?

标签: phpasp.networdpressiisiis-8.5

解决方案


WordPress 是用 PHP 编写的。如果你想在windows机器(例如IIS)上运行WordPress,你可以在你下载/安装PHP for windows后在你的IIS管理器中设置Module Mapping。

例如,在 IIS 管理器的“操作”窗格中,您将能够选择“添加模块映射”。输入必要的详细信息以告诉 IIS *.php 文件应该由 php-cgi.exe 通过 FastCGI 运行。


推荐阅读