Apache .htaccess Rewrite解决问号匹配的写法

时间:2021-07-01 00:27:45

如news.asp?id=123 需要把它定向到 news/123.html 
这个用 RewriteRule 怎么写啊? 
RewriteRule ^news\.asp\?id=(\d+)$ news/$1.html [L] 这个不行。

可以使用:

RewriteCond %{QUERY_STRING} ^id=(.[^&]+) 
RewriteRule news\.php$ news/%1.html [L]

相关资料:

把 /abc?id=123 => /def.php?id=123 的写法:

RewriteEngine on 
RewriteCond %{QUERY_STRING} ^id=(.+)$ 
RewriteRule ^/abc$ /def.php?sid=%1 [L]

RewriteRule 不会去匹配 ? 后面的字符串,需要用RewriteCond来匹配