MVC C# 网站 + WordPress 在同一个目录

MVC C# website + WordPress at the same Directory

我有 MVC C# 应用程序 运行,我已经为 WordPress 创建了子文件夹,我正在尝试在同一域中提供 WordPress 文章,所以假设文章位于

https://example.com/wordpress/article_title

我希望它成为

https://example.com/article_title

主要 url 没有 WordPress URL

我已经在 WordPress 站点上完成了更改,但现在的主要问题是网络配置文件

我怎样才能为 WordPress 在主目录中工作写一个重写规则,因为目前配置文件没有关于 WordPress URLs 的线索并且它返回 404

谢谢

尝试使用以下重写规则

<rules>
                <rule name="TestPattern" enabled="true" stopProcessing="true">
                    <match url="^[^/]+$" />
                    <action type="Redirect" url="wordpress/{R:0}" appendQueryString="true" />
                    <conditions logicalGrouping="MatchAny" />
                </rule>
</rules>

案例一

此规则将忽略所有带有斜杠的以下模式假设如果您的 asp.net mvc 应用程序路由匹配以下 url,则此规则将允许此 url 传递给您的 mvc 路由 table 和您的 MVC 页面可以提供服务

案例二

如果您尝试按照您描述的模式进行操作,此规则会将您重定向到您各自的 wordpress 文件夹,您就可以开始了

案例三

如果您的 mvc 应用程序路由 table 包含以下结构,仍然有一种方法会导致问题,那么您需要在您的 mvc 应用程序中更改该路由,例如 actionname/controllername 或更改您的 wordpress 重定向模式

下面的方法对我有用

  1. 首先,我将 index.php 从 WordPress 文件夹移动到 man 目录,并将所需的目录更改为正确的文件夹 require DIR 。 '/wordpress/wp-blog-header.php';
  2. 将以下代码添加到 web.config 文件以重定向所有以正斜杠结尾的 URL 作为 WordPress 页面
<rule name="WordPress: https://example.com/wordpress/" patternSyntax="WordPress">
            <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>

希望这对某些人有所帮助,但最重要的是确保 MVC 网站不提供任何以正斜杠结尾的页面