我想用分页创建一个类别路径。URL将如下所示;
所有路径都应该使用或不带尾斜杠(如果可能的话)
/类别/娱乐-音乐//类别/娱乐-音乐/音乐/
(代表“音乐”类别“娱乐及音乐”)
/类别/娱乐和音乐/5/
(代表"ent. . and music“的第5页)
/类别/娱乐/音乐/音乐/5/
(代表"ent. . and music/music“的第5页)
我试过这样的方法但不起作用
RewriteRule ^category/(.*)/? /category.php?slug=$1&page=1
RewriteRule ^category/(.*)/(.*)/? /category.php?slug=$1&page=$2
我怎么能做那种灵活的事情呢?
提前谢谢..。
发布于 2009-08-28 22:24:04
RewriteRule ^category/([A-Za-z0-9_-]+)([/]?)$ /category.php?slug=$1&page=1
RewriteRule ^category/([A-Za-z0-9_-]+)/([0-9]+)([/]?)$ /category.php?slug=$1&page=$2
RewriteRule ^category/([A-Za-z0-9_-]+)/([A-Za-z0-9_-]+)/([0-9]+)([/]?)$ /category.php?slug=$1&subcat=$2&page=$3
第一条规则应涵盖只指定一个类别的情况。
第二条规则应涵盖这一类别,并提供一页。
第三条规则应涵盖类别、子类别和页。我不太清楚你想要如何填充子类别,所以我只是把它写成一个接一个的论点。
所有这些都允许一个可选的尾随斜线。
发布于 2009-08-28 20:30:59
看起来,您的第一个正则表达式也匹配第二个正则表达式所捕捉到的任何内容。
/ match /slugname/7/将与.*匹配,$1设置为"slugname/7“
试着做这样的事情:
RewriteRule ^category/([^/]*)/? /category.php?slug=$1&page=1
RewriteRule ^category/([^/]*)/(.*)/? /category.php?slug=$1&page=$2
至少,或者把你的火柴拉紧一点,像这样:
RewriteRule ^category/([a-zA-Z0-9_-]+)/? /category.php?slug=$1&page=1
RewriteRule ^category/([a-zA-Z0-9_-]+)/([0-9]+)/? /category.php?slug=$1&page=$2
这将限制你的子弹至少是一个字母数字字符,允许"_“和"-”以及,你的页码必须是,嗯,数字。
https://stackoverflow.com/questions/1349136
复制相似问题