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 重定向模式
下面的方法对我有用
- 首先,我将 index.php 从 WordPress 文件夹移动到 man 目录,并将所需的目录更改为正确的文件夹 require DIR 。 '/wordpress/wp-blog-header.php';
- 将以下代码添加到 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 网站不提供任何以正斜杠结尾的页面
我有 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 重定向模式
下面的方法对我有用
- 首先,我将 index.php 从 WordPress 文件夹移动到 man 目录,并将所需的目录更改为正确的文件夹 require DIR 。 '/wordpress/wp-blog-header.php';
- 将以下代码添加到 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 网站不提供任何以正斜杠结尾的页面