最近我将我网站上的一些文章从一个类别更改为另一个类别,现在我想将重定向放在htaccess中,这样当用户在搜索引擎中找到它之前的地址然后重定向到新地址时:
example.com/sport/spdetails.php?articleid=28984&parentid=184&catid=184
重定向到:
example.com/sport/spdetails.php?articleid=anynumber&parentid=184&catid=189
答案 0 :(得分:1)
使用mod_rewrite尝试使用.htaccess
文件顶部附近的内容:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^articleid=(\d+)&parentid=184&catid=184$
RewriteRule ^sport/spdetails\.php$ /sport/spdetails\.php?articleid=%1&parentid=184&catid=189 [R,L]
%1
是对最后匹配的 CondPattern 中捕获的模式(articleid值)的反向引用,即。查询字符串。
这是临时(302)重定向。只有当您确定它正常工作时才将其更改为R=301
(永久)。
<强>更新强>
我有50篇文章,我想用catid将其网址重定向为184到189,但在htaccess中有一行代码
假设您要将这些重定向到相同的catid
,即189
(如您的问题所示),那么您可以将RewriteCond
指令更改为:
RewriteCond %{QUERY_STRING} ^articleid=(\d+)&parentid=184&catid=18[4-9]$