Apache .htaccess在新url中使用参数重定向url

Apache .htaccess在新url中使用参数重定向url,apache,.htaccess,mod-rewrite,url-rewriting,url-redirection,Apache,.htaccess,Mod Rewrite,Url Rewriting,Url Redirection,我需要用.htaccess文件重定向我在新链接中删除的旧链接, 比如说, From: http://www.example.com/page.php?value=2 (deleted) To: http://www.example.com/detail.php?d=150 我试过了,但没用。因为文件page.php不存在,那么服务器会给我404页面未找到 我的.htaccess <Files ~ "^\.(htaccess|htpasswd)$"> deny from all &l

我需要用.htaccess文件重定向我在新链接中删除的旧链接, 比如说,

From: http://www.example.com/page.php?value=2 (deleted)
To: http://www.example.com/detail.php?d=150
我试过了,但没用。因为文件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
你能帮我吗?

试试:

RewriteEngine on
RewriteCond %{THE_REQUEST} /page\.php\?value=2$
RewriteRule ^ http://example.it?page.php?d=150 [L,R]
这将改变方向

参考: 试试:

RewriteEngine on
RewriteCond %{THE_REQUEST} /page\.php\?value=2$
RewriteRule ^ http://example.it?page.php?d=150 [L,R]
这将改变方向

参考:

不接收整个url,但与htaccess文件中的指令相关的URI部分在其中。此外,它不接收查询参数,您必须使用。因此,它应该是:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^value=2$
RewriteRule ^page.php$ /detail.php?d=150 [R=301,L,QSD]
不接收整个url,但与htaccess文件所在的指令相关的URI部分在其中。此外,它不接收查询参数,您必须使用。因此,它应该是:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^value=2$
RewriteRule ^page.php$ /detail.php?d=150 [R=301,L,QSD]
重写规则^[R=301,L]试试这个重写规则^[R=301,L]试试这个