我希望改写:
www.mysite.com/services/category1/?content=service1
到
www.mysite.com/services/category1/#tab-service1
我有这个特定的重写,我想概括网站上所有可能的URL:
RewriteCond %{QUERY_STRING} content=service1
RewriteRule ^services/category1 services/category1/#tab-service1? [NE,R,L]
我尝试了以下但是没有用:( -
RewriteCond %{QUERY_STRING} content=([a-zA-Z]+)
RewriteRule ^services/category1/?content=(.*)$ services/category1/#tab-$1 [NE,R,L]
感谢。
答案 0 :(得分:1)
你的规则看起来很好,除了一件事
QUERYSTRING content=service1
不是RewriteRule模式中匹配的一部分,因此您无法在RewriteRule的模式中测试查询字符串(在?之后的Url部分)。要测试网址查询字符串,我们使用%{QUERY_STRING}
变量,就像您正在使用的变量一样。
RewriteCond %{QUERY_STRING} content=([a-zA-Z]+)
RewriteRule ^services/category1/?$ services/category1/#tab-%1 [NE,R,L]