2017-04-14 190 views
1

我知道如何在相反方向重写并处理查询字符串,但我需要基于标记或类别(小写)创建一个查询字符串参数。因此,我可以在我的页面中将查询字符串用作搜索参数:将URL重写为查询字符串

例如,

news/tag/Shipping/ ==> http://www.example.com/news/?tag=shipping 
news/category/Other/ ==> http://www.example.com/news/?category=other 

试图

RewriteEngine On 
RewriteRule ^news/([^/]*)$ /?tag=$1 [L] 

谢谢。

+1

你能分享一下你试过的吗? – starkeen

回答

1

您需要2条重写规则。

RewriteEngine On 

RewriteRule ^news/([\w-]+)/?$ news/?tag=$1 [L,QSA,NC] 

RewriteRule ^news/([\w-]+)/([\w-]+)/?$ news/?$1=$2 [L,QSA,NC] 
+0

无论如何,标签或类别可以被假定为在URL中的相同位置,并且URL的最后部分是可变部分。我只在我的代码中添加了Tag以尝试使其正常工作。 @anubhava。 – Barton

+0

在第二条规则中,您可以注意到第二和第三部分都是变量。这应该适用于所有情况。如果您有不同的要求,请使用示例编辑问题。 – anubhava

+1

第一次工作。非常感谢@anubhava – Barton