2012-01-19 55 views
2

我有一个NopCommerce网站(ASP.NET MVC),我试图添加一个WordPress的博客作为主站点的子文件夹。在ASP.NET MVC网站设置WordPress的永久链接

Wordpress的安装很好,所有的配置文件都已经创建好了,如果浏览器通过它,博客工作正常。

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

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

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

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

任何人都可以提供我如何获得永久链接设置的指导?我是否需要在我的MVC网站上设置Route

回答

1

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

通常Wordpress会自动生成web.config文件。我只能假设Wordpress尚未安装在.NET MVC网站上处理安装。

创建web.config文件中,在WordPress的博客文件的根,包含下面的代码应该得到它的工作:

<?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> 
0

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

  • 在你的IIS服务器上下载并安装ISAPI_Rewrite Lite。该过滤器为IIS提供mod_rewrite的工作。下载时请确保使用免费的Lite版本。这个精简版版本不会限制产品,并且对于我们的WordPress博客来说将会非常好(免费)。只需将Rewrite Lite安装到本教程的默认位置即可。
  • 接下来将ISAPI筛选器添加到您的IIS站点。
    你会发现通过右键此设置点击yourIIS网站 - >性能 - > ISAPI筛选器选项卡 - >添加…名称无论你想过滤器和你的可执行文件路径应该是:
    C:\ Program Files文件\赫利\ ISAPI_Rewrite3 \ ISAPI_Rewrite.dll
    单击两个窗口上的确定以保存您的设置。
  • 下一页浏览到C:\ Program Files文件\赫利\ ISAPI_Rewrite3

    在这里,我们将修改httpd.conf文件(注意:这是付费版和精简版的版本之间的区别在收费版本则需要编辑您的网页文件夹的根目录下的.htaccess文件)

  • 打开httpd.conf文件在写字板和这些行粘贴:
    RewriteBase/
    的RewriteCond%{} REQUEST_FILENAME -f
    的RewriteCond%{} REQUEST_FILENAME !-d
    RewriteRule ^(。*)$ index.php?p = $ 1 [NC,L]
  • 保存并退出此文件。
  • 要完成IIS的变化,转到开始,运行,运行命令:IISRESET /重新启动
  • 现在让我们来改变你的WordPress设置。导航到http://yourblog/wp-admin
  • 导航到左侧菜单栏 - >设置 - >永久链接
  • 现在你可以选择你希望你的帖子看看。我选择一个自定义设置,只是:/%postname%这就是你今天看到这个博客的方式。
  • 点击“保存更改”并且您应该看到新的友好URL!
  • +0

    梅德你好,根据您的IIS版本,WordPress的可以使用内置的URL重写为IIS 7及更高版本的一部分。这可以在Web表单网站上运行。但是,在.NET MVC站点上安装时,无法创建所需的web.config文件。我只能假设Wordpress尚未处理与MVC站点的安装。为了解决我的问题,我复制了现有博客中的web.config重写规则。 –