![静态html网站,页面后面的附加参数仍然有效。如何显示404?](https://linux22.com/image/1586968/%E9%9D%99%E6%80%81html%E7%BD%91%E7%AB%99%EF%BC%8C%E9%A1%B5%E9%9D%A2%E5%90%8E%E9%9D%A2%E7%9A%84%E9%99%84%E5%8A%A0%E5%8F%82%E6%95%B0%E4%BB%8D%E7%84%B6%E6%9C%89%E6%95%88%E3%80%82%E5%A6%82%E4%BD%95%E6%98%BE%E7%A4%BA404%EF%BC%9F.png)
我有一个 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(一位数字)。