2013-07-26 22 views
10

我剛剛創建了一個使用Windows Azure和他們的WordPress博客模板的網站。我能夠更新CNAME和別名記錄以正確地將我的域名轉發到他們的網站。當我訪問:www.myblog.net時,我被重定向到:myblog.azurewebsites.net,瀏覽器顯示www.myblog.net,這正是我想要的。如何配置Windows Azure使用WordPress進行Url重寫?

這一切工作正常。該網站加載罰款,一切都很好。

但是,當我嘗試訪問帶有固定鏈接的頁面時,就出現了這個問題。通過WordPress配置,我將我的固定鏈接更新爲以下格式:http://www.myblog.net/blog/The-Post-Name-Is-Here。這樣做的問題是,當我試圖去那個URL,我得到這個錯誤:如果我去shortlink對於同一主題(如http://www.myblog.net/?p=241

The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.

,頁面被發現,一切都很好。

我已經研究了很多,發現有一個url重寫爲apache,但這顯然不適用於我。我還發現IIS有一個url重寫,我在本地玩過。你可以配置這個來正確管理url重寫。但是,Windows Azure網站配置門戶中沒有這樣的IIS面板。

我也讀了很多關於編輯web.config和htaccess,但這些文件都沒有在我的wwwroot目錄(或任何子目錄)上我的網站在天藍。

那麼,有沒有人知道如何配置天藍色的網站來正確管理永久鏈接?

在此先感謝您的幫助!

回答

15

的WordPress在Windows Azure上的網站下的Microsoft Internet信息服務(IIS),而不是運行Apache。 IIS還支持URL重寫,但配置是在Web.config文件中完成的,而不是在.htaccess文件中完成的。

首先,在WordPress的設置,更改固定鏈接到自定義結構而不「的index.php」,如:

/%year%/%monthnum%/%day%/%postname%/ 

另外,還要確保在WordPress設置,常規設置部分,WordPress的地址(URL )和網站地址(URL)是正確的。

接下來,使用FTP,WebMatrix中或其他工具,在你的WordPress網站的根目錄下創建一個Web.config文件:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
       <rule name="Main Rule" stopProcessing="true"> 
        <match url=".*" /> 
        <conditions logicalGrouping="MatchAll"> 
         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
         <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
        </conditions> 
        <action type="Rewrite" url="index.php" /> 
       </rule> 
      </rules> 
     </rewrite> 
    </system.webServer> 
</configuration> 

對於一步一步的教程參考Pretty WordPress Permalinks on Azure。有關更多信息,請參閱Moving a WordPress Blog to Windows Azure – Part 4: Pretty Permalinks and URL Rewrite rules

+1

使用web.config是要走的路。這是我正在尋找的確切答案!我曾嘗試上傳過一個web.config,但我沒有正確設置我的WordPress地址(URL)和站點地址(URL)。當我需要指向http://www.mysite.net的兩個字段時,我仍然指向我的實際服務器URL。謝謝你的幫助! –

+0

這個答案很好。如果有人找不到編輯web.config的方法。您可以使用以下https://your-site.azurewebsites.net/dev/wwwroot/web.config編輯web.config –

1

如果你的WordPress博客被配置爲www.myblog.net然後在您的永久鏈接你不能有/博客,直到和除非你已經改變了你的WordPress的設置。 我認爲你的固定鏈接應該看起來像http://www.myblog.net/index.php/The-Post-Name-Is-Here

轉到設置 - >固定鏈接,並從那裏選擇一個選項。或者,如果你想要自定義網址,然後輸入 - /index.php/%postname%/並保存。

+0

我換成/博客/與/index.php/,如你所說和我以前所有的職位和新職位的開始很好地工作,所以我真的很感謝你的回答!但有一個問題 - 你(或任何人)是否知道如何美化永久鏈接,以便它可以只是www.myblog.net/blog/this-is-a-title?我已經閱讀了關於WordPress的不同插件來幫助解決這個問題,但他們都使用Apache。 –

+0

檢查鏈接費爾南多共享的漂亮的固定鏈接 – freakyroach