Mod rewrite 301重定向到。htacces不起作用:(重新设计了一个站点,但无法将旧的url链接到新的站点

Mod rewrite 301重定向到。htacces不起作用:(重新设计了一个站点,但无法将旧的url链接到新的站点,mod-rewrite,redirect,http-status-code-301,Mod Rewrite,Redirect,Http Status Code 301,我重新设计了这个网站,并试图创建一个301重定向,将旧链接重定向到新链接,以保存现有的谷歌pagerank。我正在使用joomla作为我的网站 我尝试的链接示例: 旧链接:frutaplantaonline.nl/cgi-bin/index.pl?n=823&txt=privacy\u policy 新链接:frutaplantaonline.nl/隐私政策 我试过: Redirect 301 /cgi-bin/index.pl?n=823&txt=privacy_policy ht

我重新设计了这个网站,并试图创建一个301重定向,将旧链接重定向到新链接,以保存现有的谷歌pagerank。我正在使用joomla作为我的网站

我尝试的链接示例:

  • 旧链接:
    frutaplantaonline.nl/cgi-bin/index.pl?n=823&txt=privacy\u policy
  • 新链接:
    frutaplantaonline.nl/隐私政策
我试过:

Redirect 301 /cgi-bin/index.pl?n=823&txt=privacy_policy http://frutaplantaonline.nl/privacy-policy
RewriteRule ^/?cgi-bin/index.pl?n=823&txt=privacy_policy/?$ http://frutaplantaonline.nl/privacy-policy [L,R=301]
所有链接中都有
cgi-bin/index.pl
,如果我删除
index.pl
中的点,我可以重定向站点


已经搜索了数小时,但没有找到解决方案,如果有人能帮助我,我将不胜感激!

重定向
指令在您的情况下是无用的,因为它只在路径上工作(即
/cgi-bin/index.pl

您需要使用
RewriteRule
指令,并随附
RewriteCond
以匹配查询字符串。从:

如果希望匹配主机名、端口或查询字符串,请分别使用%{HTTP_HOST}、%%{SERVER_port}或%{query_string}变量的RewriteCond

因此,在您的情况下,这样做可能会:

RewriteCond %{QUERY_STRING} n=823&txt=privacy_policy
RewriteRule ^/cgi-bin/index.pl$ http://frutaplantaonline.nl/privacy-policy [R=301,L]