偽靜態是SEO重要的方法,通過重新導向來實現,並且可以通過重新導向來隱藏網站的技術,過濾異常訪問。本課分為兩部分,前半部分詳細介紹Apache重新導向的基礎知識,後半部分通過多個實際案例再次加深對重新導向的理解,並且會示範各種重新導向設定後的實際效果。
什麼是偽靜態
偽靜態是相對真靜態來講
偽靜態只是把URL改成靜態形式,實際上還是動態網頁
偽靜態有著真靜態一樣的SEO
什麼是重新導向(很常用重點學習)
將網路請求重新定一個方向,轉到別的位置
分為內部和外部,區別是外部重新導向時,瀏覽器地址欄中的URL會發生變化
http原本就支援重新導向3XX
使用重新導向技術實現偽靜態
重新導向的環境搭建
安裝web伺服器(apache/nginx)
載入mod_rewrite.so模組
重新導向實現方式(主要有3種)
通過配置WEB伺服器主配置<DIRECTORY> (生產環境)
通過.htaccess (開發環境)
通過指令碼實現(外部重新導向)
.htaccess重新導向實現步驟
第一步:在apache主設定檔裡配置allowOverride All(重啟)
第二步:在.htaccess檔案裡配置
RewriteEngine on RewriteRule ^(.*)\.html$ $1.php //匹配html改成php
WEB伺服器主配置實現重新導向
直接在Apache設定檔中找到<DIRECTORY>是web項目地址的加上下面代碼:
RewriteEngine on RewriteRule ^(.*)\.html$ $1.php //匹配html改成php
RewriteRule文法說明
RewriteRule 匹配模式 替換的URL [flags]
匹配模式支援Prel格式的Regex與rewrite變數
替換的URL支援匹配模式的結果與rewrite變數
多個flags用逗號隔開(例如:[R=301,C])
RewriteRule flags說明
R 強制外部重新導向,瀏覽器地址欄url會發生變化,301永久重新導向,302臨時重新導向,例子:[R=301],[R](代表301)
C 連結下一條規則,如果有多條規則的話,則當前加[C]的規則與下條規則成為一個整體,第一天不匹配,那麼下一條就不進入
L 停止匹配後面的規則,如果有多條規則的話,當加[L]的規則匹配後,則停止後面規則的匹配
NE 不對URL的特殊字元進行轉義
NC 不區分大小寫
G 請求的網頁失效,伺服器返回410
QSA 用於在url中截取查詢字串