我有一个旧网站,其网址如/articles/id?PHPSESSID=
我想删除网址末尾的?PHPSESSID=
。
更新:我创建了一个新网站,旧网址已移至archive.example.com
。我设法通过将以下代码添加到.htaccess
文件来重定向旧URL:
RewriteRule ^articles/(.*)$ http://archive.example.com/articles/$1 [R=301,L]
但Google或FB的许多旧链接最终都是?PHPSESSID=
,无法重定向到http://archive.example.com/
,我不知道如何做到这一点?
答案 0 :(得分:1)
RewriteRule ^articles/(.*)$ http://archive.example.com/articles/$1 [R=301,L]
为防止查询字符串(即。?PHPSESSID=
)在重定向中传递(即删除它),您只需在{{1}末尾添加?
} 替换。例如:
RewriteRule
这有效地在目标URL上创建一个空查询字符串。您没有看到尾随RewriteRule ^articles/(.*)$ http://archive.example.com/articles/$1? [R=301,L]
。或者,您可以使用Apache 2.4 +上的?
(查询字符串放弃)标记
请注意,这会删除整个查询字符串,而不仅仅是QSD
参数。