首页 > 解决方案 > htaccess 重定向无序链接

问题描述

我有一个网址:

mysite.com/a/b,c,d,e,f

以及正常工作的条件:

RewriteRule ^a/b,c,d,e,f/([0-9]+)(/?)$ /f/cat=a,b,c,d,e,f [L]
RewriteRule ^a/b,c,d,e,f(/?)+$ /f/cat=a,b,c,d,e,f [L]

即使有类似的链接,是否有一条规则有效

mysite.com/a/c,b,e,f,d   ->   /f/cat=a,b,c,d,e,f
mysite.com/a/e,f,d,b,c   ->   /f/cat=a,b,c,d,e,f
...

标签: .htaccess

解决方案


这仅在相关部分是可区分的情况下才可行,即您可以将 URL 查询字符串元素a与 notabnotb等区别开来。

要得到这个想法(演示):

(a)/(?=.*(b))(?=.*(c))(?=.*(d))(?=.*(e))(?=.*(f)).,.,.,.,.(/?)

如果有重叠,例如这些部分实际上只是一堆数字,这不会飞。


推荐阅读