php清理网址使用正则表达式

时间:2012-07-31 01:31:27

标签: php regex search clean-urls

我正在尝试转换这些网址

localhost/list/data/?search=keyword
localhost/list/data?search=keyword

localhost/list/data/search/keyword

我使用了这个表达式

(.+)(\?|\/\?)([a-z0-9_-]+)=([a-z0-9_-]+)

问题是假设用户搜索另一个关键字

localhost/list/data/search/keyword/?search=anotherkeyword
localhost/list/data/search/keyword?search=anotherkeyword

就像这样

localhost/list/data/search/keyword/search/anotherkeyword

怎么能这样呢

localhost/list/data/search/anotherkeyword

其中in取代了网址

中的上一个搜索/关键字

1 个答案:

答案 0 :(得分:0)

它比正则表达式复杂一点。最好的方法是服务器端脚本和htaccess的组合。不久前,我为一个非常相似的问题写了一个答案。在我开发的一些网站中使用此解决方案。

PHP dynamic DB page rewrite URL

我会花时间重写我在上面链接上发布的帖子,让你用它作为你的向导,希望有所帮助