2012-01-19 56 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重寫規則。 –