当前位置:
首页 >
apache 伪静态 (转)
发布时间:2024/1/17
40
豆豆
生活随笔
收集整理的这篇文章主要介绍了
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 伪静态 (转)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 一个路由再接另一个路由,让和别人合拉的一
- 下一篇: 职场警示录:怎样和“小人”和睦相处