Iis

IIS 在 Wordpress 永久連結上搞砸了還是 WP 的錯?

  • January 31, 2015

我遇到了一個問題,經過一些研究,我發現了失敗的確切點。

blog.domain.com

不工作,它說找不到頁面(404)

blog.domain.com/index.php

按預期工作

如果你點擊首頁,它會說找不到頁面,如果你嘗試預覽一個新文章,它會說找不到頁面……順便說一句,我可以看到每個文章。

我在使用 IIS 的 Windows 主機上執行我的部落格。

我的固定連結是這樣的:

/index.php/%postname%

IIRC 我不得不使用 index.php 因為我的IIS 沒有 URL 重寫。

我對 url 上的 index.php 沒有任何問題,我現在有一個很好的 SEO,我不想更改我的永久連結,但我不知道為什麼現在不工作……只是從一天到下一個…

這是WP的問題還是只是我的主機搞砸了?如果是我的部落格,你知道是什麼原因造成的嗎?(只是為了創建一個關於確切問題的具體票證)

謝謝你。

你見過這個嗎?:使用永久連結而不重寫 mod « WordPress Codex

在永久連結中僅使用 %postname% 是 Wordpress 的一個眾所周知的問題。最好至少使用 %postname%/%year% 但是如果您更改永久連結,WP 不會拋出 404;他們將被轉發。

從上面的連結:

如果您使用的是 IIS 7 並且在您的伺服器上擁有管理員權限,則可以使用 Microsoft 的 URL 重寫模組http://www.iis.net/learn/extensions/url-rewrite-module/using-the-url-rewrite-module反而。雖然與 mod_rewrite 不完全兼容,但它確實支持 WordPress 漂亮的永久連結。安裝後,打開 WordPress 文件夾中的 web.config 文件並將以下規則添加到 system.webServer 元素

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="WordPress Rule" stopProcessing="true">
<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?page_id={R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

請參閱http://www.iis.net/learn/extensions/url-rewrite-module/enabling-pretty-permalinks-in-wordpress

引用自:https://serverfault.com/questions/166138