.htaccess 重定向 url,并在新 url 中包含参数

Mat*_*att 2 apache .htaccess mod-rewrite redirect url-rewriting

我需要使用 .htaccess 文件在新链接中重定向旧链接(已删除),例如,

From: http://www.example.com/page.php?value=2 (deleted)
To: http://www.example.com/detail.php?d=150
Run Code Online (Sandbox Code Playgroud)

我尝试过这个但没有用。因为文件(page.php)不存在,所以服务器给我404页面未找到。

我的 .htaccess

<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
RewriteEngine On
RewriteRule http://www.example.com/page.php?value=2 http://www.example.it/detail.php?d=150 [END,R=301]
order deny,allow
Run Code Online (Sandbox Code Playgroud)

你能帮助我吗?

hjp*_*r92 7

RewriteRule指令htaccess不会接收整个 url,而是与文件所在指令相关的 URI 部分。此外,它不接收查询参数,您必须使用指令访问RewriteCond它们。所以,应该是:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^value=2$
RewriteRule ^page.php$ /detail.php?d=150 [R=301,L,QSD]
Run Code Online (Sandbox Code Playgroud)