给含?apple参数的页面设置410会误移除网站首页吗?
问题解答
你的网站首页(无参数的
website.com/)不会被这段代码设置410状态码,因此不会从谷歌搜索结果中被移除。因为首页的$_SERVER['REQUEST_URI']值是/(或类似/index.php),完全不包含?apple字符串,代码里的判断条件根本不会触发。不过这段代码有个小问题:它会把
website.com/?apple-fruit这类链接也一并设置为410。因为strpos是子串匹配逻辑,?apple-fruit里包含?apple这个子串,所以会被误判。如果你只想针对参数名为
apple的页面(比如?apple或?apple=xxx,不包含?apple-fruit)设置410,建议改成精确检查GET参数的代码:<?php if (isset($_GET['apple'])) { header("HTTP/1.0 410 Gone"); exit; } ?>这段代码直接检查是否存在名为
apple的GET参数,不管参数有没有值都会返回410,既不会误匹配其他带apple字样的参数,也绝对不会影响首页。
内容的提问来源于stack exchange,提问作者gabriele Balli
相关产品推荐
相关产品推荐

