表達式是這樣寫的
RewriteEngine On
RewriteRule ^(.*)/product/test_(/d+)/.shtml$ $1/product/test.php?sid=$2
然后一直以http://www.abc.com/product/test.php?sid=9000這個鏈接去測試,當初以為它會自動跳轉為http://www.abc.com/product/test_9000.shtml,測試了很久都跳轉不過去 以為是正則表達式寫錯了 改來改去都不行,后來百度了下:
RewriteRule Pattern Substitution [flags]
Pattern是一個作用于當前URL的perl兼容的正則表達式。"當前URL"是指該規則生效時刻的URL的值。它可能與被請求的URL截然不同,因為其他規則可能在此之前已經發生匹配并對它做了改動。
Substitution是當原始URL與Pattern相匹配時,用來替代(或替換)的字符串。
也就是說當用戶以http://www.abc.com/product/test_9000.shtml來訪問的時候,然后用^(.*)/product/test_(/d+)/.shtml$去匹配,如果匹配成功,就替換成$1/product/test.php?sid=$2去訪問,當然在用戶頁面上顯示的還是http://www.abc.com/product/test_9000.shtml,使用戶認為訪問的是靜態網頁。
請務必保留此出處http://xinying.blog.51cto.com/441770/234713
新聞熱點
疑難解答