banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

wordpress一個分號引發的血案CG的部落格關閉一天

昨天保存失敗,今天終於保存成功,CG 今天決定更新自己的 Wordpress。CG 使用的是 WordPress 的 2.6 版本,一直穩定,最近這次崩潰,CG 自己 目前原因已經找到,不過還是決定更新。

CG 最近在部落格上放了 GG 的 adsense 內容,因為對使用者的點擊數量不滿意決定自行修改部落格中的部分設定,結果是 500 內部錯誤,對於這種情況 CG 因為遭遇過多次,一般都是因為偽靜態設定與伺服器權限的衝突問題,這種問題一般是直接聯繫伺服器的客服解決,發完訊息,等待...

20 分鐘後,桌面右下角的 OE 閃動,是伺服器開通偽靜態成功的通知,功能恢復,打開部落格,500,無語。phpinfo () 沒有問題,心想這回麻煩大了。

恢復幾天以前備份的檔案,重新打開,500,phpinfo () 無效,看來是恢復以後的主機沒有開啟偽靜態,繼續到伺服器發工單,等待。。

晚上 22 點,一切恢復,然後重新修改 WP 的主題,使用正常,一切 OK。

晚上寫篇日誌,結果自動保存出現問題,還是 500,FT。

一直疑惑伺服器是不是忽悠我,偽靜態根本沒有打開嘛,早上打他的 400 電話結果得到以下的解釋:為了伺服器安全考慮,目前不提供使用者開放偽靜態功能,需要自行申請打開,不過要對動態腳本進行限制,而一旦使用者有非法操作,就會關閉,結果在使用者端就是 500 錯誤,需要自己重新申請打開。

然後是第三次提交工單,waiting.., 不過這次有個小插曲,CG 犯了嚴重的錯誤,把開通偽靜態寫成了偽隨機,汗!

一切恢復正常

事後經過 CG 檢查,原因是 CG 在修改完成時丟掉了一個‘;’, 而因為一個丟失分號的 PHP 錯誤,伺服器主機為了伺服器安全,通常將所有危險的 PHP 錯誤進行處理,導致整站 PHP 無法解析,最後關閉偽靜態功能,徹底無語。

最後補充一下什麼叫偽靜態 所謂偽靜態就是一個網站的頁面相對於使用者和 SE 來說,是靜態的頁面,靜態的 URL,但是實際上網站是動態生成的,比如 "www.lidaren.com/page/2" 這個 URL,雖然是動態的 PHP 頁面,但是使用者和 SE 看到是靜態的 URL, 這是對使用者和 SE 都很友好的,沒有了?和 & 用來標示 get 請求,同時這種方式對 SEO 也是很有利的。但是缺點也是有的,這種方式依賴於伺服器技術同時,由於 URL 的轉換是在服務器端完成的,因此相比用普通的 URL 會佔用更多的伺服器的資源,同時,因為偽靜態的 URL 是可以自行定義的,會產生多對多的頁面指向,導致伺服器端的死循環處理等問題,危害伺服器安全,因此,目前很多主機是不支持的

通常在 apache 的 httpd.conf 中加入

AcceptPathInfo On #允許獲取 pathinfo

就可以配置啟用偽靜態的 URL 了,其他的配置需要在伺服器服務端軟體實現,php 可以使用 php 腳本對

$_SERVER['PATH_INFO']

進行讀取和匹配即可

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。