php偽靜態模式的開啟

來源:互聯網
上載者:User
在之前的文章中我們給大家介紹什麼是php偽靜態,以及php使用偽靜態作用,相信很多小夥伴對php偽靜態有一定的瞭解了。那麼今天我們給在大家講解下php中如何開始為靜態模式的!

1.檢測Apache是否支援mod_rewrite

通過php提供的phpinfo()函數查看環境配置,通過Ctrl+F尋找到“Loaded Modules”,其中列出了所有
apache2handler已經開啟的模組,如果裡麵包括“mod_rewrite”,則已經支援,不再需要繼續設定。

如果沒有開啟“mod_rewrite”,則開啟目錄 您的apache安裝目錄“/apache/conf/” 下的 httpd.conf 文
件,通過Ctrl+F尋找到“LoadModule rewrite_module”,將前面的”#”號刪除即可。

如果沒有尋找到,則到“LoadModule” 地區,在最後一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必選獨佔一行),然後重啟apache伺服器即可。

2.在httpd.conf中配置虛擬機器主機

# Virtual hosts 啟用虛擬機器主機Include conf/extra/httpd-vhosts.conf

3.httpd_vhosts.conf檔案中,配置相應的選項.詳細講解

<VirtualHost *:80>  DocumentRoot "C:/myenv/apache/htdocs/static3"  ServerName www.hsp.com  <Directory "C:/myenv/apache/htdocs/static3">#Deny from All 403錯誤提示Allow from All#如果檔案目錄在apache目錄外面,注釋掉optinos 則,不能列表.options +Indexes#下面這個表示可以去讀取 .htaccess檔案,也可以直接在虛擬機器主機中配置.Allowoverride AllRewriteEngine OnRewriteRule news-id(\d+).html$ error.php?id=$1#這裡可以設定多個重寫的規則#RewriteRule news-id.html$ error.php  </Directory> </VirtualHost>

4.在相應的目錄下編寫.htaccess 重寫規則

例子:

<IfModule rewrite_module>RewriteEngine OnRewriteRule news-id(\d+).html$ show.php?id=$1#這裡可以設定多個重寫的規則#RewriteRule news-id.html$ error.php</IfModule>

如果在linux下可以直接建立,

如果是在windows平台下,用記事本建立一個檔案,比如abc.txt,然後另存新檔 .htaccess檔案即可

5.重寫規則,也可以直接在配置虛擬機器主機的<Directory>段配置.

動態、靜態、偽靜態之間的利與弊(新)

動態網址

首先,動態網址目前對於Google來說,“不能被抓取”的說法是錯誤的,Google能夠很好的處理動態網址並順利抓取;其次“參數不能超過3個”的說法也不正確,Google能夠抓取參數超過3個的動態網址,不過,為了避免URL太長應盡量減少參數。

其次,動態網址有其一定的優勢,以上面所說的 news.php?lang=cn&class=1&id=2 為例,網址中的參數準確的告訴Google,此URL內容語言為cn、隸屬於分類1、內容ID為2,更便於Google對內容的識別處理。

最後,動態網址應盡量精簡,特別是會話標識(sid)和查詢(query)參數,容易造成大量相同頁面。

靜態網址

首先,靜態網址具有的絕對優勢是其明晰,/product/nokia/n95.html和/about.html可以很容易被理解,從而在搜尋結果中可能點擊量相對較高。

其次,靜態網址未必就是最好的網址形式,上述動態網址中說到,動態網址能夠告訴Google一些可以識別的參數,而靜態網址如果文檔布置不夠恰當(如:過於扁平化,將HTML文檔全放在根目錄下)及其他因素,反而不如靜態網址為Google提供的參考資訊豐富。

最後,樂思蜀覺得Google此文中是否有其隱藏含義?“更新此種類型網址的頁面會比較耗費時間,尤其是當資訊量增長很快時,因為每一個單獨的頁面都必須更改編譯代碼。”雖然所說的是網站,但在Google系統中是否同樣存在這樣的問題呢?

偽靜態網址

首先,偽靜態網址不能讓動態網址“靜態化”,偽靜態僅僅是對動態網址的一個重寫,Google不會認為偽靜態就是HTML文檔。

其次,偽靜態可取,但應把重心放在去除冗餘參數、規範URL、儘可能的避免重複頁上。

最後,偽靜態有很大潛大危險,最好在對網站系統、網站結構、內容分布、參數意義熟悉的情況下使用。

在寫偽靜態規則時,應保留有價值的參數,不要將有價值的參數全部精簡掉,如前面例子中的 news.php?lang=cn&class=1&id=2 最好重寫為 news-cn-class1-id2.html,而不是過份精簡重寫為 news-2.html。

再就是偽靜態中一定不能包含會話標識(sid)和查詢(query)參數,/product.asp?sid=98971298178906&id=1234 這樣的動態網址,其中的sid本來Google能夠識別並屏蔽,但如果重寫為 /product/98971298178906/1234,Google不但無法識別,還在整站中造成無限重複頁面(每個會話都會產生一個新的會話ID)。

總結:

文章詳細的為大家介紹了php為靜態模式的開啟,相信大家此有一定的認識,希望對你的學習有所協助!

相關推薦:

偽靜態是什麼?php使用偽靜態意義?


PHP偽靜態圖文代碼詳細介紹


什麼是偽靜態?三種實現PHP偽靜態方法介紹

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.