Mod rewrite 使用mod_rewrite重定向查询字符串

Mod rewrite 使用mod_rewrite重定向查询字符串,mod-rewrite,query-string,Mod Rewrite,Query String,我想使用mod_rewrite来更改我的旧URL。例如,我想要 http://www.example.com/lyrics?id=393 改为 http://www.example.com/lyrics/393 我尝试了以下方法: RewriteRule ^lyrics\.aspx?$ http://www.example.com/lyrics/ [QSA,L] 但它输出 http://www.example.com/lyrics/?id=393 谢谢, AB试试: RewriteRu

我想使用mod_rewrite来更改我的旧URL。例如,我想要

http://www.example.com/lyrics?id=393
改为

http://www.example.com/lyrics/393
我尝试了以下方法:

RewriteRule ^lyrics\.aspx?$  http://www.example.com/lyrics/ [QSA,L]
但它输出

http://www.example.com/lyrics/?id=393
谢谢, AB

试试:

RewriteRule ^/?lyrics/([0-9]+)/? /lyrics.aspx?id=$1 [L]
然后重定向旧URL:

RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ /lyrics\.aspx\?id=([0-9]+)
RewriteRule ^ /lyrics/%2? [L,R=301]
尝试:

然后重定向旧URL:

RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ /lyrics\.aspx\?id=([0-9]+)
RewriteRule ^ /lyrics/%2? [L,R=301]

我发现了以下网站:

读完这篇文章后,我终于明白了这一点

RewriteCond %{QUERY_STRING} ^id=(.*)$
RewriteRule ^lyrics\.aspx$ /lyrics/%1/? [R=301,L]
所以现在,不要像这样的URL:

http://www.example.com/lyrics?id=950
http://www.example.com/lyrics/950/.
我现在有如下URL:

http://www.example.com/lyrics?id=950
http://www.example.com/lyrics/950/.

我发现了以下网站:

读完这篇文章后,我终于明白了这一点

RewriteCond %{QUERY_STRING} ^id=(.*)$
RewriteRule ^lyrics\.aspx$ /lyrics/%1/? [R=301,L]
所以现在,不要像这样的URL:

http://www.example.com/lyrics?id=950
http://www.example.com/lyrics/950/.
我现在有如下URL:

http://www.example.com/lyrics?id=950
http://www.example.com/lyrics/950/.