.htaccess 重写将字符串添加到URL结尾的规则

.htaccess 重写将字符串添加到URL结尾的规则,.htaccess,url-rewriting,.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添加到URL?

这对我不起作用:

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添加到URL?

尝试以下操作:

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

没有使用ISAPI的经验,但我可能会尝试以下方法:

RewriteRule ^tags/(\w+)/?$ Templates/showpage.asp?DBID=1&LNGID=2&TMID=133&FID=898&tag=$1 [QSA]
基本上,您缺少的是用于捕获匹配标记的括号,该标记将用于替换$1

我放置了条件斜杠/?在括号外,假设标记不应包含斜杠,但可以接受带或不带尾随斜杠的URL

使现代化
如果您需要更自由地使用您接受作为标记的字符,您可以使用类似^tags/[^/?]+/?$的内容来允许除斜杠和问号之外的所有字符,如所建议的。

我尝试了此重写规则^tags/[\U+0590-\U+05FFA-Za-z0-9-]+/?$Templates/showpage.asp?DBID=1&LNGID=2&TMID=133&FID=898&tag=$1[QSA]它适用于英语和数字,但对于希伯来语,它不需要1美元就可以重写