【问题标题】:WordPress rewrite on Windows (with IIS and ASP.NET site)Windows 上的 WordPress 重写(使用 IIS 和 ASP.NET 站点)
【发布时间】:2020-01-25 21:53:33
【问题描述】:

我开始(通过 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”时,它应该带我到 install.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 中设置任何规则。我应该这样做来解决这个问题吗?

有没有人可以帮帮我?

【问题讨论】:

  • 听起来像是路由问题...也许检查一下:gmass.co/blog/wordpress-pages-and-asp-net-mvc-same-iis-folder
  • 是的,我确实已经看过这个博客了。但是,当我在根目录的 web.config 和 /blog 文件夹的 web.config 中都包含以下规则时,它在 mydomain.com/blog
  • 在该链接中,WordPress 站点位于根目录,而 ASP.NET 位于子文件夹中。如果您将“博客”重定向到索引,它会回到根目录并尝试查找 php 页面。我会考虑为每个不同的域。混合这两种路由方案似乎很乱。
  • 嗨,您是否尝试使用 URL 重写将 url en/install.php?step=2 重写回 en/blog/wp-admin/install.php?step=2?
  • @JokiesDing 是的,但这无济于事,因为它将再次使用初始字段重新加载页面(step=... 是 install.php 中的一个函数)。除此之外:问题不仅在于 install.php 页面。一旦博客安装完成,一般问题(错误的重写 url)将继续发生,在其他页面上也是如此。

标签: asp.net wordpress windows iis url-rewriting


【解决方案1】:

通过在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)");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-04
    • 1970-01-01
    • 2015-04-28
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    • 2021-02-05
    • 2023-03-27
    相关资源
    最近更新 更多