寻找一些分页和mod重写的帮助 好的,所以我有一个看起来像这样的网址
www.website.com/page.php?phone=111-393-4949
我正在改写它看起来像这样......
www.website.com/701-625-5444.php
用这个
RewriteRule ^([0-9]+)-([0-9]+)-([0-9]+) page.php?number=$1-$2-$3 [L,QSA]
我现在遇到一些问题,即将我的分页添加到mod重写中。 我真的不太确定我需要做什么,但这就是我想出来的
RewriteRule ^([0-9]+)-([0-9]+)-([0-9]+)/([^/]*) page.php?number=$1&page=$2 [L,QSA]
应输出..
www.website.com/494-949-9494/1.php
我做错了什么?
答案 0 :(得分:1)
每个()
对都是一个捕获组。由于您已经有三个()
个电话号码组,因此您添加的([^/]*)
将被$4
捕获。
RewriteRule ^([0-9]+)-([0-9]+)-([0-9]+)/([^/]*)$ page.php?number=$1-$2-$3&page=$4 [L,QSA]
如果分页是可选的,请在最终片段周围添加可选的非捕获组(?:)?
:
RewriteRule ^([0-9]+)-([0-9]+)-([0-9]+)(?:/([^/]*))?$ page.php?number=$1-$2-$3&page=$4 [L,QSA]
我会注意到您的RewriteRule
并没有像示例.php
那样强行包含www.website.com/701-625-5444.php
。那看起来像是
RewriteRule ^([0-9]+)-([0-9]+)-([0-9]+)\.php$ page.php?number=$1-$2-$3 [L,QSA]
# Or...
RewriteRule ^([0-9]+)-([0-9]+)-([0-9]+)(?:/([^/]*))?\.php$ page.php?number=$1-$2-$3&page=$4 [L,QSA]