|  | 
 
 | 為什麼要實現偽靜態,我就不多說了。 案例一,多個參數如何替換
 億枝客比較導購網產品列表,上下頁地址如下格式:
 
 http://www.yicike.com/category.php?categoryId=1169&&minPrice=0&maxPrice=0&mer=&manu=&so=&t=11621&x=16
 非常長,將近8個參數,我們如何處理呢,經過多次嘗試最後,解決如下:
 
 RewriteEngine on
 RewriteBase /
 RewriteRule ^mp([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*).htm
 category.php?categoryId=$1&&minPrice=$2&maxPrice=$3&mer=$4&manu=$5&so=$6&t=$7&x=$8 [L,NC]
 
 具體做法網上有很多教程,我簡單列一下:
 1、 啟用rewrite,打開httpd.conf找到下面這一行,並去了前面的#號
 LoadModule rewrite_module libexec/mod_rewrite.so
 
 2 、把httpd.conf 網站所在目錄,設定為
 Options Indexes FollowSymLinks
 AllowOverride all
 
 3、創建.htaccess
 
 4、將代碼寫.htaccess
 第一行:RewriteRule ^mp([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*).htm
 第二行:category.php?categoryId=$1&&minPrice=$2&maxPrice=$3&mer=$4&manu=$5&so=$6&t=$7&x=$8 [L,NC]
 第二行這裡從$1-$8共8個參數,其分別對應第一行從左到右,按 "-"  隔開正則表達部分,如$1對應mp右邊的([0-9]*),以此類推,就可以將8個參數對應起來。要知道([0-9]*)具體意義,要參考學習正則表達式。
 
 案例二,如何在windows裡創建與修改.htaccess
 利用FTP遠程連接處理。
 
 案例三,多個規則注意順序,先匹配長的,再匹配短的
 .htaccess裡如果有多個轉向,那麼就要注意順序了,順序不同有可能導致問題。比如以下兩個現在順序,就會導致第二個轉向失效,交換一個前後位置就OK了。
 #產品比較地址
 RewriteRule ^([0-9]*)-[a-zA-Z0-9&-+._'"]*/([0-9]*)-([a-zA-Z0-9&-+._'"]*).htm products.php?categoryId=$1&productId=$2 [L,NC]
 #產品詳細地址
 RewriteRule ^([0-9]*)-[a-zA-Z0-9&-+._'"]*/([0-9]*)-([a-zA-Z0-9&-+._'"]*)-detail.htm products_detail.php?categoryId=$1&productId=$2 [L,NC]
 
 案例四,固定值不需要處理
 如將 products_detail.htm?categoryId=1357&productId=1337      替換為 products_detail.php?categoryId=1357&productId=1337
 就可以直接寫成
 RewriteRule ^products_detail.htm   products_detail.php
 案例五,各種轉向代碼實例
 301
 rewriteCond %{http_host} ^stseo.com [NC]
 rewriteRule ^(.*)$ http://www.stseo.com/$1 [R=301,L]
 302
 域名解析裡設置的URL轉向
 
 | 
 |