什麼是偽靜態
-
偽靜態是相對真靜態來講
-
偽靜態只是把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格式的正規表示式與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中擷取查詢字串