我需要将一个简单的htaccess重定向到一个新页面,同时重命名" get"参数。原始网址为:www.example.com/display_item.php?x=2735
我希望重定向到:
www.example.com/product.php?productcode=2735
。
这是我最近的尝试(很多),但这不起作用,我得到了404回复:
RedirectMatch 301 /display_item.php?x=(.*)$ /product.php?productcode=$1
我认为我非常接近解决这个问题,但此刻我正在拔头发!我已经查看了Stack Overflow的解决方案,但我找不到任何工作。
答案 0 :(得分:1)
如评论中所述,查询字符串不是URI的一部分。这样,您需要使用mod_rewrite
分别检查查询字符串(在条件中使用%{QUERY_STRING}
)。
RewriteEngine On
RewriteCond %{QUERY_STRING} ^x=(\d+)$ [NC]
RewriteRule ^display_item.php$ /product.php?id=%1 [L,R=302]
将302更改为301以使重定向成为永久性。
注意:将来,请先查询相关文档(以便更好地了解所有工作原理),然后再询问此事。