首页 > 解决方案 > Windows 上的 WordPress 重写(使用 IIS 和 ASP.NET 站点)

问题描述

我开始(通过 Web 安装程序平台)在我的 Windows 2012 Server 上安装 WordPress 博客。在同一台服务器上,我已经在运行 ASP.NET MVC 4.5 网站。这个网站有一个内置的本地化模块,它获取访问者的文化代码(例如“en”)并将其放置在 URL 中。顺便说一句:我需要WordPress博客在子文件夹中运行,即:/blog

所以,总结一下: https ://example.com/en成功返回我的 ASP.NET 网站 https://example.com/en/blog应该返回我的 WordPress 博客。

现在,当我通过打开https://example.com/en/blog/wp-admin/install.php继续配置 WordPress 站点时,它会显示用于输入站点标题、用户名 + 密码和电子邮件的字段。这是在 install.php?step=1 上完成的。

单击“安装 wordpress”时,我应该安装.php?step=2。但不是带我去https://example.com/en/blog/wp-admin/install.php?step2,而是带我去https://example.com/en/install.php?step=2。它只是从 URL 中删除 /blog/wp-admin/ 部分。这会导致 404,因为该页面显然不存在。

我没有在 web.config 或 IIS 中设置任何规则。我应该这样做来解决这个问题吗?

有没有人可以帮助我?

标签: asp.networdpresswindowsiisurl-rewriting

解决方案


通过在 ExclusionFilter 的 global.asax.cs 中添加“blog”来解决它,如下所示:

i18n.UrlLocalizer.QuickUrlExclusionFilter = new System.Text.RegularExpressions.Regex(@"(?:sitemap.xml|.css|.jpg|.png|.svg|.woff|.woff2|.eot|.js|.html |.json)$|(?:blog)");


推荐阅读