apache 伪静态 (转)
生活随笔
收集整理的這篇文章主要介紹了
apache 伪静态 (转)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://www.abc.com/product/test.php?sid=9000
變成? http://www.abc.com/product/test_9000.shtml
表達式是這樣寫的
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://www.abc.com/product/test_9000.shtml
表達式是這樣寫的
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
總結
以上是生活随笔為你收集整理的apache 伪静态 (转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个路由再接另一个路由,让和别人合拉的一
- 下一篇: 职场警示录:怎样和“小人”和睦相处