IIS WordPress 永久連結如何移除 index.php 路徑

IIS WordPress 永久連結如何移除 index.php 路徑

WordPress 文章的永久連結有分幾種模式,預設是「?p=123」這種方式。

實際上的連結就變成這樣。

為了讓 URL 更好辨識內容也增加 SEO 的排名優化通常會設定為「/index.php/%postname%//」。

可是這樣的 URL 就變成。

網址中間多了一個 index.php 也不是非常的簡潔,希望可以移除中間的 index.php。

讓文章正常顯示這樣該怎麼做呢?
我的 WordPress 環境是安裝在 IIS 之上,該怎麼調整呢?

調整永久連結設定

在永久連結的設定就有一個類似的設定,將「/index.php/%postname%/」改為「/%postname%/」。

調整永久連結設定

這樣調整之後,文章的連結就會拿掉中間的 index.php 部份,我們點文章的網址確實已經變了。
可是就出現了 404 找不到網頁了。

這種網址找不到文章的錯誤,可以利用轉址的功能來解決,將原本的 /%postname%/ 路徑自動轉成 /index.php/%postname%/ 就可以正確顯示了。

IIS 環境解決方法

安裝 URL Rewrite

在 IIS 上轉址的方法,可以安裝 URL Rewrite 套件來解決,在微軟官方下載網址是 http://www.iis.net/downloads/microsoft/url-rewrite

安裝 URL Rewrite

下載之後執行檔案安裝

安裝 URL Rewrite

安裝 URL Rewrite

安裝好了之後,在 IIS 的站台就會出現新的功能 URL Rewrite。

安裝 URL Rewrite

調整 web.config

在 IIS 底下的網站都會有一個 web.config 的檔案,這檔案可以調整 IIS 的設定,

我們安裝好 URL Rewrite 之後,就可以在 web.config 增加一組設定

新設定的位置就放在 <system.webServer> </system.webServer> 之間就可以了

這組設定可以讓原本的 /%postname%/ 路徑自動轉成 /index.php/%postname%/ 文章就可以正確顯示。
調整完 web.config 之後,再回來 IIS 的 URL Rewrite 看也會有相對應的設定

安裝 URL Rewrite

測試網址

執行剛剛原本會錯誤的網頁就變正常了。

 

已發表很多舊文章是否適用呢?

通常改永久連結的問題,如果你有很多舊文章是不是要一篇一篇的改呢?
有些已經被 google 收錄的連結是不是會失效?
你們放心,這次的修改並不需要大費周章的調整以前的文章連結,而是會自動轉址,
例如有一篇文章在 google 的連結是這樣的

網址中包含了 index.php 路徑,可是經過設定 URL Rewrite 轉址之後,再點連結網址自動會縮成較短的網址文章,也可以正確的顯示喔。

重點整理

  1. 移除 index.php 是為了提高 SEO 排名
  2. 安裝 IIS URL Rewrite
  3. 調整 web.config

相關學習文章

如果你在學習上有不懂的地方,需要諮詢服務,可以參考站長服務,我想辨法解決你的問題
如果文章內容有過時、不適用或錯誤的地方,幫我在下方留言通知我一下,謝謝

加入社團一起討論

關注我的 IG