.htaccess 伪静态
在配置伪静态的时候 我发现我需要配置两个传值的伪静态时 折腾了半天才搞懂,我写的伪静态不能用同样的路径
正确示范
#启动伪静态 RewriteEngine On RewriteRule ^h/(.+)$ home.php?h=$1 RewriteRule ^p/(.+)/([0-9]+)\.html$ home.php?h=$1&p=$2 #这样写 是可行的,只要get获取的方式正确,就可以通过以下方式正常访问 # 网址/h/值1 # 网址/p/值1/值2.html
错误示范
#启动伪静态 RewriteEngine On RewriteRule ^h/(.+)$ home.php?h=$1 RewriteRule ^h/(.+)/([0-9]+)\.html$ home.php?h=$1&p=$2 #这里是两个h,相同可能会导致一直解析 第一个内容
因为:
- 值1是admin
那么正常来讲访问时就是是 “网址/h/admin”这样,这是可行的,但如果第二行配置 - 值1是admin,值2是1
传值是正常的 但是引用的路径是相同的
所以:
#启动伪静态
RewriteEngine On
#(1) 可行
RewriteRule ^h/(.+)$ home.php?h=$1
RewriteRule ^p/(.+)/([0-9]+)\.html$ home.php?h=$1&p=$2
#(2) 不可行
RewriteRule ^h/(.+)$ home.php?h=$1
RewriteRule ^h/(.+)/([0-9]+)\.html$ home.php?h=$1&p=$2
网址/h/admin/1.html 如果(2)没有第一行的配置,只有第二行也是可以正常访问的,如果有了第一行和第二行,第一行的路径和第二行的路径相同 ,第二行就会被第一行相同路径而覆盖。再怎么访问 也只是在解析第一行的配置
教程就是这些,可能有可以解决路径相同还能访问的办法,只是我还没有摸索到,如果有懂得朋友欢迎来解疑惑。
如果觉得讲的不好,请不要看哈,怕误人子弟咯。
相关文章:
::good::