2015-01-16 57 views
0

我正在開發一個已經實時遷移的網站,但現在每個頁面都鏈接到了主頁404。IIS永久鏈接兼容性 - web.config不起作用?

我已經做了大量的研究,沒有什麼幫助。讓我列出我嘗試過的東西:

  1. 我正在使用IIS的Windows服務器上運行。所以如果它是一個固定鏈接結構問題,那麼一個web.config文件(mod_rewrite功能)應該可以解決這個問題。但事實並非如此。主頁仍然按原樣顯示,其他頁面仍然顯示404。
  2. 將永久鏈接切換爲默認值可以解決問題,但會破壞客戶端所需的鏈接。所以我不能用這個解決方案。永久鏈接需要留在「發佈名稱」。
  3. 廣泛的IIS研究表明,一種可能的解決方案可能是ISAPI重寫。我爲Wordpress下載了一個插件... ISAPI重寫器。當我激活這個插件時,主頁也打破了。所以我停用了該插件。
  4. 使用All-In-One WP遷移(據我所知)幾乎沒有做任何遷移。數據庫可能已被移植過。內容過來很好。主題看起來不錯。但是沒有一個鉤子(其中有相當多的)已經結束了。此外,已修改主題的實際JavaScript文件在新網站上保留未修改狀態。因此,主頁的大部分(以及其他頁面的擴展)都不起作用。據我瞭解,在使用All-In-One WP Migration解決固定鏈接問題後,您需要將固定鏈接設置保存兩次。我做到了。錯誤仍然存​​在。除主頁以外的所有頁面仍然有404個。
  5. 我聯繫了All-In-One WP Migration的開發人員,他們正在推出一個實驗性新版本......我只是想停在那裏。問題依然存在。所有頁面404.
  6. 我在微軟網站和Wordpress Codex上找到了關於如何解決這個問題的線程和頁面,包括使用直接來自Wordpress Codex的代碼更新web.config文件。一切都無濟於事。
  7. 在你告訴我這個網站有一百萬這樣的問題之前,我已經看過幾乎所有的問題。沒有幫助。

所以有人實際上解決了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> 

我試過這個也沒有成功。任何其他想法?

回答

1

我已經添加了一些以前的IIs使用此代碼。

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
       <rule name="rule 1E" stopProcessing="true"> 
        <match url="^overseer/?$" /> 
         <action type="Rewrite" url="//wp-login.php" appendQueryString="true" /> 
       </rule> 
       <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> 
+0

我欣賞幫助,但不幸的是,這並沒有解決問題。頁面仍然404ing。 – Rambo8000