Drupal站點換伺服器後除主頁其他404錯誤如何解決

以前幫客戶做的站點空間快到期了,那時單獨買了一個只能放一個站點的美國空間,後來轉到另外一個大點的虛擬主機,站點是用Drupal做的,但是轉到新主機後打開主頁正常,但是點開內頁都是404,後來發現是.htaccess文件沒傳上去

問題描述:
“page not found” Errors on every page except homepage.”
也就是說您所建立的drupal站點除了主頁面可以訪問,其它欄目全部訪問顯示爲404錯誤頁面
問題分析:
造成這個問題最可能就是因爲在新的伺服器上的mod_rewrite模塊或者是簡潔鏈接(clean URLs)的錯誤配置(或稱drupal僞靜態)。我們在地址欄中鍵入http://www.example.com/index.php?Q=user檢測mod_rewrite模塊是否正常工作,檢查的方法如下:
如果在您輸入上述地址後出現了登錄頁面,那麽我們就可以假設drupal站點的php虛擬主機伺服器是沒問題的,只是mod_rewrite模塊沒有啓用。來確定mod_rewrite模塊是否啓用,我們可以建立一個名字爲phpinfo.php的文件爲您網站安裝環境的php探針,並在這個php文件中加入如下代碼:
<?php
phpinfo();
?>
保存後,使用FTP上傳到php虛擬主機上drupal站點的根目錄下,然後使用您的網站域名/phpinf.php來執行,你就可以看到您空間的環境配置。
確認mod_rewrite啓用
在地址欄中輸入http://www.example.com/phpinfo.php查看“Loaded Module (載入模塊)”中有沒有包含mod_write。如果沒有包含的話,也就是說明apache伺服器沒有載入這個模塊,更別談開啓了。剛才所創建的phpinfo.php文件保留著,在下面的介紹中,我們還要使用到它。
確認.htaccess文件正常工作
在drupal站點的根目錄下有一個.htaccess文件,首先我們使用FTP登錄到php虛擬主機的根目錄下找到這個文件,下載到本地做個備份。然後再創建一個新的.htaccess文件,並在其中加入如下表達式:
DirectoryIndex phpinfo.php
保存,再使用FTP上傳覆蓋掉drupal站點根目錄下的.htaccess文件。接著在浏覽器中輸入http://www.example.com(您drupal站點的地址),如果跳轉到phpinfo.php,那麽說明您現在站點下的.htaccess文件是正常工作的。
提示:確認完後記得把備份好的.htaccess文件還原現有站點下的.htaccess文件。
細致確認rewrite_base配置
確認.htaccess文件正常工作後,那我們就來確認一下.htaccess文件中“RewriteBase”和“RewriteEngine” 的配置。(詳情請查看:http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html)
成功啓用.htaccess的重寫功能
如果phpinfo.php沒有顯示的話,定位apache伺服器的配置文件並且啓動.htaccess的重寫功能。這個文件的位置會隨著伺服器平台的不同而不同。比方說在Ubuntu伺服器上,虛擬主機配置文件在/etc/apache2/sites-enabled/000-default 。通過.htaccess中配置mod_rewrite,apache配置需要允許最低的文件訪問控制權限,爲了使這個簡單的目錄索引測試工作,apache伺服器需要允許“索引”重寫。在伺服器的配置文件中我們可以找到下列兩行:
<Directory /filesystem/path/to/your/sites/root>
</Directory>
在這個塊中間不要隨意添加或編輯重寫指令,會造成安全隱患。更多資料可以參考官方文獻:
http://httpd.apache.org/docs/1.3/mod/core.html#allowoverride
允許所有的重寫:
<Directory /filesystem/path/to/your/sites/root>
AllowOverride All
</Directory>
僅僅選擇重寫:
<Directory /filesystem/path/to/your/sites/root>
AllowOverride Indexes Options FileInfo
</Directory>
現在重載apache配置,這也是因平台而論的,在Ubuntu平台下,命令如下:
1 # /etc/init.d/apache2 reload
接著在浏覽器中輸入您網站站點的域名,php伺服器的配置信息會被展示出來,如果是這樣的話進行修改後就能夠正常的進行訪問了。當您的簡潔鏈接(Clean URLs)不能正常工作,請從“成功啓用.htaccess的重寫功能”開始操作。
Drupal官方技術文檔原文:http://drupal.org/node/228462

更多相關文章
  • HHVM是一個強大的可以用于替代PHP的建站環境,出自Facebook團隊,它是一個PHP的JIT(Just-In- Time)編譯器,同時具有産生快速代碼和即時編譯的優點了,下面小編給各位介紹一篇HHVM崩潰導致網站報502錯誤的解決方法,有需要的朋友可進入參考.爲了提高效能,之前把博客更換到了H
  • Winodws 7旗艦版電腦安裝軟件時出現無效驅動器:G:\錯誤1327解決辦法
    使用win7系統的朋友可能會發現爲什麽在系統中安裝軟件會提示無效驅動器呢?難道是硬盤壞了這個也沒有道理了,那麽出來安裝軟件時出現無效驅動器:G:\錯誤1327如何來解決呢?具體操作步驟如下原因分析出現這個問題好像是一些參數的問題,我們只要在運行中修複一下就可以了解決了,具體操作步驟如下解決辦法我們在
  • drupal站點的日常運營維護經驗
    你用drupal建立站點後,真正的工作才開始,本文我們跟大家說下drupal站點的日常運營維護,這樣我們可以交流各自運營的心得.網站運營數據分析要想運營好網站,你首先需要了解你的網站運營狀況,比如:網友都是從哪裏來訪問你的網站?網友最喜歡看的都是什麽內容?持續關注哪些頁面?還有訪問網頁的網友們的年齡 ...
  • 404頁面不要出現200狀態碼 當頁面不存在的時候,伺服器一定要返回404的錯誤狀態碼才算正常,有些站長設置了404頁面之後,在訪問這些不存在頁面時, 返回的是200狀態碼,那麽這樣搜索引擎就是把大量的錯誤頁面當做是
  • IE浏覽器的IEXPLORE.EXE進程數量過多的解決辦法
    IE浏覽器的IEXPLORE.EXE進程數量過多的解決辦法,IE 浏覽器在同時打開多個選項卡後,Windows 會同時運行多個不同的 IEXPLORE.EXE 進程,這個現象並非是不正常的故障,而是 IE 浏覽器在 IE 8 及後續的版本中引入的"松散耦合進程框架(Loosely Coup ...
  • ASP.NET MVC3站點設置html默認首頁的方法
    由于虛擬主機同時支持ASP和ASP.NET,使用ASP.NET MVC3爲一個企業網站(A
  • Win10系統創建wifi熱點時出現無法啓動承載網路怎麽解決
    筆記本電腦支持無線網路了,我們可以把自己的網路通過創建熱點共享給其它設備連接了,如家裏沒有
  • Windows 7下IE浏覽器與王碼五筆不兼容問題解決辦法
    五筆不兼容問題可能很多菜鳥朋友不會打字了,像有一些就不會打拼音了只會打五筆了,那麽我們碰到
一周排行