首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >国防部重写问题

国防部重写问题
EN

Stack Overflow用户
提问于 2009-08-28 20:21:21
回答 2查看 105关注 0票数 0

我想用分页创建一个类别路径。URL将如下所示;

所有路径都应该使用或不带尾斜杠(如果可能的话)

/类别/娱乐-音乐//类别/娱乐-音乐/音乐/

(代表“音乐”类别“娱乐及音乐”)

/类别/娱乐和音乐/5/

(代表"ent. . and music“的第5页)

/类别/娱乐/音乐/音乐/5/

(代表"ent. . and music/music“的第5页)

我试过这样的方法但不起作用

代码语言:javascript
运行
复制
RewriteRule ^category/(.*)/? /category.php?slug=$1&page=1
RewriteRule ^category/(.*)/(.*)/? /category.php?slug=$1&page=$2

我怎么能做那种灵活的事情呢?

提前谢谢..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-28 22:24:04

代码语言:javascript
运行
复制
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

第一条规则应涵盖只指定一个类别的情况。

第二条规则应涵盖这一类别,并提供一页。

第三条规则应涵盖类别、子类别和页。我不太清楚你想要如何填充子类别,所以我只是把它写成一个接一个的论点。

所有这些都允许一个可选的尾随斜线。

票数 2
EN

Stack Overflow用户

发布于 2009-08-28 20:30:59

看起来,您的第一个正则表达式也匹配第二个正则表达式所捕捉到的任何内容。

/ match /slugname/7/将与.*匹配,$1设置为"slugname/7“

试着做这样的事情:

代码语言:javascript
运行
复制
RewriteRule ^category/([^/]*)/? /category.php?slug=$1&page=1
RewriteRule ^category/([^/]*)/(.*)/? /category.php?slug=$1&page=$2

至少,或者把你的火柴拉紧一点,像这样:

代码语言:javascript
运行
复制
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

这将限制你的子弹至少是一个字母数字字符,允许"_“和"-”以及,你的页码必须是,嗯,数字。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1349136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档