在ASP.NET MVC网站上设置Wordpress永久链接

本文关键字:Wordpress 链接 设置 ASP NET MVC 网站 | 更新日期: 2023-09-27 18:20:43

我有一个NopCommerce网站(ASP.NET MVC),我正在尝试添加一个Wordpress博客作为主网站的子文件夹。

Wordpress的安装很好,所有配置文件都已创建,如果你浏览它,博客也能正常工作。

然而,我现在想通过使用帖子的名称来设置漂亮的永久链接。

通常,当您设置永久链接时,它会为Apache生成.htaccess文件,或为Windows IIS7 Url重写生成web.config文件。

当我尝试保存永久链接设置时,它会停在那里尝试加载,最终超时。

我猜想,因为ASP.NET MVC使用Routes,Wordpress站点不知道该设置什么。

有人能为我提供如何设置永久链接的指导吗?我是否需要在我的MVC站点上设置一个Route

在ASP.NET MVC网站上设置Wordpress永久链接

最后,我从标准C#网站上的一个现有博客中复制了一个web.config文件。

通常Wordpress会自己生成web.config文件。我只能假设Wordpress还没有被设置来处理.NET MVC网站上的安装。

在Wordpress博客文件的根目录中创建一个web.config文件,其中包含以下代码,应该可以使其正常工作:

<?xml version="1.0" encoding="UTF-8">
<configuration>
    <system.webServer>
        <defaultDocument>
            <files>
                <clear/>
                <add value="index.php"/>
            </files>
        </defaultDocument>
        <rewrite>
            <rule name="wordpress" patternSyntax="wildcard">
                <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>
        </rewrite>
    </system.webServer>
</configuration>

如果你在IIS上安装WordPress,你会发现你的友好URL不起作用。这是因为WordPress想要使用一个名为“;mod_rewrite”;这样做的快速总结是,它将使用友好的浏览器URL,并在后端将其更改为index.php。这种方法的一个问题是IIS不加载apache mods

  • 在IIS服务器上下载并安装ISAPI_Rewrite Lite。此筛选器完成IIS的mod_rewrite工作。下载时,请确保使用免费的Lite版本。这个Lite版本对产品没有太大的限制,对于我们的wordpress博客来说非常好(而且是免费的)。只需将"重写精简版"安装到本教程的默认位置即可
  • 接下来,将ISAPI筛选器添加到IIS网站
    右键单击IIS网站可以找到此设置->属性->ISAPI筛选器选项卡->添加…;随意命名过滤器,可执行文件的路径应为:
    C: ''Program Files''Helicon''ISAPI_Rewrite3''ISAPI_Rewrite.dll
    在两个窗口上单击"确定"以保存您的设置
  • 下一步导航到C:''Program Files''Helicon''ISAPI_Rewrite3

    在这里,我们将编辑httpd.conf(注意:这是付费版本和Lite版本之间的区别。在付费版本中,您需要编辑web文件夹根目录上的.htaccess文件)

  • 在wordpad中打开httpd.conf文件并粘贴到以下行中:
    重写基/
    重写结束%{REQUEST_FILENAME}-f
    重写结束%{REQUEST_FILENAME}-d
    重写规则^(.*)$index.php?p=$1[NC,L]
  • 保存并退出此文件
  • 要完成IIS更改,请转到启动,运行并运行命令:iisreset/restart
  • 现在让我们更改您的WordPress设置。导航到http://yourblog/wp-admin
  • 导航到左侧菜单栏->设置->永久链接
  • 现在,您可以选择您想要的帖子外观。我选择了一个自定义设置,然后:/%postname%这就是你今天看到这个博客工作的方式
  • 单击“;保存更改”;你应该看到你新的友好网址