3

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

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

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

通常,当您设置永久链接时,它会.htaccess为 Apache 或web.configWindows IIS7 Url Rewrites 生成一个文件。

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

我猜是因为 ASP.NET MVC 使用Routes,所以 Wordpress 网站不知道要设置什么。

任何人都可以为我提供有关如何设置永久链接的指导吗?我是否需要Route在我的 MVC 网站上设置一个?

4

2 回答 2

1

最后,我从标准 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>
于 2012-02-14T23:01:58.840 回答
0

如果您在 IIS 上安装 WordPress,您会注意到您的友好 URL 不起作用。这是因为 WordPress 想要使用一个名为“mod_rewrite”的 apache 插件。这样做的快速总结是它将获取您友好的浏览器 URL,并在后端将它们实际更改为 index.php。这种方法的一个问题是 IIS 不加载 apache mods。这是解决此问题的一种简单而免费的方法:

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

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

  • 在写字板中打开 httpd.conf 文件并粘贴以下行:
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?p=$1 [NC,L ]
  • 保存并退出此文件。
  • 要完成 IIS 更改,请转到开始,运行并运行命令:iisreset /restart
  • 现在让我们更改您的 WordPress 设置。导航到http://yourblog/wp-admin
  • 导航到左侧菜单栏 -> 设置 -> 永久链接
  • 现在您可以选择您希望帖子的外观。我选择了一个自定义设置,然后:/%postname% 这就是你今天看到这个博客的工作方式。
  • 单击“保存更改”,您应该会看到新的友好 URL!
  • 于 2012-02-01T22:36:30.107 回答