1

我有以下网址结构:

http://sitename.com/subdir/category-name/subcategory-name/article

以下是一些示例 URL:

http://127.0.0.1/ocko/works/videos/
http://127.0.0.1/ocko/texts/stuff/
http://127.0.0.1/ocko/works/teletubbies/oint/
http://127.0.0.1/ocko/works/teletubbies/oint/

类别可以是可选的,works也可以是可选的。textsarticle

这是我的正则表达式:

(works|texts)(\/.+)(?:(\/.+))\/

问题是它只匹配最后两个示例,例如第三个参数 ( article) 是强制性的,即使我(?:(\/.+))为最后一部分编写了。

我正在尝试将幕后的内容重新路由到以下内容:

http://127.0.0.1/ocko/category/works/videos/

我正在构建类似的字符串:http: //127.0.0.1/ocko/category/ $1$2$3

4

1 回答 1

2

怎么样:

 (works|texts)(\/.+?)(\/.+?)?\/

https://regex101.com/r/oK1eU7/1

于 2015-06-24T23:50:09.340 回答