htaccess-在重定向URL中包含查询字符串

时间:2018-07-29 10:00:34

标签: .htaccess redirect

我有一个网站,我想在.htaccess文件中添加代码行,以自动将页面重定向到另一个站点。

Redirect
/index.php/component/virtuemart/XXXXX.html
https://www.trazeras.gr/index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=XXXXX

XXXXX是一个可以由1-5位数字组成的数字 以上数字应取自初始网站的网址,并在目标网站的网址中使用

我尝试了以下代码,但是它不起作用

# Redirect Query String
<IfModule mod_rewrite.c>
RewriteCond %{QUERY_STRING} ^/virtuemart/([0-9]+) [NC]
RewriteRule ^(.*)$ https://www.trazeras.gr/index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=%1? [R=301,L]
</IfModule>

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

URL没有查询字符串,因此您不应使用它进行重定向:

# Redirect Query String
<IfModule mod_rewrite.c>
RewriteRule ^/virtuemart/([0-9]+) https://www.trazeras.gr/index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=$1 [NC,R=301,L]
</IfModule>

答案 1 :(得分:-1)

最后,这对我有用:

RewriteRule  ^(.*)virtuemart/([0-9]+).html$ https://www.trazeras.gr/index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=$2 [R=301,L] [R=301,L]