0
我正在開發一個已經實時遷移的網站,但現在每個頁面都鏈接到了主頁404。IIS永久鏈接兼容性 - web.config不起作用?
我已經做了大量的研究,沒有什麼幫助。讓我列出我嘗試過的東西:
- 我正在使用IIS的Windows服務器上運行。所以如果它是一個固定鏈接結構問題,那麼一個web.config文件(mod_rewrite功能)應該可以解決這個問題。但事實並非如此。主頁仍然按原樣顯示,其他頁面仍然顯示404。
- 將永久鏈接切換爲默認值可以解決問題,但會破壞客戶端所需的鏈接。所以我不能用這個解決方案。永久鏈接需要留在「發佈名稱」。
- 廣泛的IIS研究表明,一種可能的解決方案可能是ISAPI重寫。我爲Wordpress下載了一個插件... ISAPI重寫器。當我激活這個插件時,主頁也打破了。所以我停用了該插件。
- 使用All-In-One WP遷移(據我所知)幾乎沒有做任何遷移。數據庫可能已被移植過。內容過來很好。主題看起來不錯。但是沒有一個鉤子(其中有相當多的)已經結束了。此外,已修改主題的實際JavaScript文件在新網站上保留未修改狀態。因此,主頁的大部分(以及其他頁面的擴展)都不起作用。據我瞭解,在使用All-In-One WP Migration解決固定鏈接問題後,您需要將固定鏈接設置保存兩次。我做到了。錯誤仍然存在。除主頁以外的所有頁面仍然有404個。
- 我聯繫了All-In-One WP Migration的開發人員,他們正在推出一個實驗性新版本......我只是想停在那裏。問題依然存在。所有頁面404.
- 我在微軟網站和Wordpress Codex上找到了關於如何解決這個問題的線程和頁面,包括使用直接來自Wordpress Codex的代碼更新web.config文件。一切都無濟於事。
- 在你告訴我這個網站有一百萬這樣的問題之前,我已經看過幾乎所有的問題。沒有幫助。
所以有人實際上解決了IIS上的這個問題?任何人都可以對此有所瞭解,或者將我指向新的方向?
我的web.config文件中的代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<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></rules>
</rewrite>
</system.webServer>
</configuration>
這些設置在其他網站製作IIS一個類似的服務器上,但這裏不是在一個我現在很努力。 Wordpress推薦使用此代碼:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="WordPress Rule" stopProcessing="true"> //notice a change here
<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}" /> //notice a change here
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我試過這個也沒有成功。任何其他想法?
我欣賞幫助,但不幸的是,這並沒有解決問題。頁面仍然404ing。 – Rambo8000