静态html网站,页面后面的附加参数仍然有效。如何显示404?

静态html网站,页面后面的附加参数仍然有效。如何显示404?

我有一个 100% 静态 html 的网站。我注意到 Google 显示我有几个页面在 URL 末尾显示了附加参数。示例:

https://www.example.com/page1.html?page=162

访问该 URL 仍会显示 page1.html,但为什么该 URL 一开始就有效?有什么方法可以阻止这种情况发生吗?

服务器是运行 Apache 的 CentOS 6。

答案1

我最终找到了一种方法来执行 301,从 URL 中删除查询字符串

RewriteCond %{QUERY_STRING} ^p=[0-9]{3}$RewriteRule (.) example.com/$1? [R=permanent] RewriteCond %{QUERY_STRING} ^styleid=[0-9]$ RewriteRule (.) example.com/$1? [R=永久]

这些将删除任何 ?p=xxx(最多三名数字)和 ?styleid=x(一位数字)。

相关内容