重定向301查询字符串htaccess

时间:2018-10-23 13:52:48

标签: .htaccess redirect mod-rewrite

我一直在尝试将查询字符串链接重定向到我的.htaccess文件中的另一个链接,我一直在遵循一些指南,并且我想出了如何做到这一点,目前重定向完成了,但实际上并没有像我想要的那样工作。

这是第一个链接: http://www.mydomain.it/index.php?page=lkr_pg_chisiamo

那应该重定向到这个: https://www.mydomain.eu/chi-siamo/

这是我在WordPress中的htaccess中所做的事情:

RewriteEngine On

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteCond %{QUERY_STRING} ^page=lkr_pg_chisiamo$
RewriteRule ^(.*)$ https://www.mydomain.eu/chi-siamo/ [R=301,L] 

现在重定向有效,但我的最终到达网址是: https://www.mydomain.eu/chi-siamo/?page=lkr_pg_chisiamo

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

  

现在重定向有效,但我的最终到达网址是:   https://www.mydomain.eu/chi-siamo/?page=lkr_pg_chisiamo

您需要放弃查询字符串。两种解决方案:

解决方案1(使用?重设新的查询字符串)

RewriteRule ^(.*)$ https://www.mydomain.eu/chi-siamo/? [R=301,L]

解决方案2(使用QSD标志)

RewriteRule ^(.*)$ https://www.mydomain.eu/chi-siamo/ [R=301,L,QSD]