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

如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来匹配