1

寻找一些分页和修改重写的帮助,所以我有一个看起来像这样的网址

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

我做错了什么?

4

1 回答 1

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中并未强制包含.phpas 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]
于 2013-03-06T03:20:48.540 回答