将Regex转换为RewriteRule

时间:2016-02-25 14:31:44

标签: php regex .htaccess mod-rewrite url-rewriting

几分钟前,我问了一个问题并收到了很好的答复。有用。 (This is it)。我把它添加到我的PHP脚本中。现在我需要用另一个类似的问题完成我的网站,但很少有特色。我需要从正则表达式中获得重写规则(这是不同的问题,而不是我以前的问题) 我需要重写链接,如:

http://my_site.com/technic/k-700/?type=repair

链接如:

http://my_site.com/repair/k-700/ 

而不是 k-700 可以是任何其他组合(在 / 之间)而不是修复只能套件< / strong>即可。
现在我需要重写.htaccess文件的规则。请。
我的结果不起作用:

RewriteRule ^([^\/].)/k-700/$ /technic/k-700/?type=$1 [L]

我无法避免 k-700 :(

1 个答案:

答案 0 :(得分:0)

如果我的理解是正确的,这是在你的根.htaccess,那么试试这个:

RewriteRule ^(repair|kit)/([^/]+)/?$ technic/$2/?type=$1 [L]

更新:重新阅读您的说明。对repair vs kit值有一点含糊不清,以及替换是否应始终为k-700。所以这里有一些适合这些可能性的例子:

RewriteRule ^(repair|kit)/([^/]+)/?$ technic/k-700/?type=$1 [L]

RewriteRule ^(kit)/([^/]+)/?$ technic/k-700/?type=$1 [L]

RewriteRule ^(kit)/([^/]+)/?$ technic/$2/?type=$1 [L]