RewriteRule将字符串添加到URL的末尾

时间:2010-11-17 13:39:33

标签: .htaccess url-rewriting

这对我不起作用:

RewriteRule ^tags/[^?/] Templates/showpage.asp?DBID=1&LNGID=2&TMID=133&FID=898&tag=%1 [QSA]

当我转到页面www.mydomain.com/tags/tag1时,它会将其重写为www.mydomain.com/Templates/showpage.asp?DBID=1&LNGID=2&TMID=133&FID=898&tag=

如何在网址中添加“tag1”?

2 个答案:

答案 0 :(得分:0)

试试这个:

RewriteRule ^tags/([^?/]+) Templates/showpage.asp?DBID=1&LNGID=2&TMID=133&FID=898&tag=%1 [QSA]

答案 1 :(得分:0)

没有ISAPI的经验,但我可能会尝试这个:

RewriteRule ^tags/(\w+)/?$ Templates/showpage.asp?DBID=1&LNGID=2&TMID=133&FID=898&tag=$1 [QSA]

基本上,您缺少的是用于捕获匹配标记的括号,以代替$1

我将条件斜杠(/?)置于括号之外,假设标签不应包含斜杠,但带有或不带斜杠的URL是可接受的。

更新

如果您需要更加自由地接受您接受的字符作为标签,您可以使用^tags/([^/?]+)/?$之类的内容来允许Pavel建议的所有字符(除了斜线和问号)。< / p>