Nginx不允许 Url中出现问号 ?

最近在做一个站的SEO,由于域名之前做过别的内容,有一部分死链格式为: www.xxx.com/?p=2181

在新的网站内,此url参数访问后无实际内容,会显示网站首页的内容。这对我们清除这部分死链url造成了阻碍。

解决办法

在Nginx中添加下列伪静态规则,拦截?带参数 url和访问

不允许url中包含问号?

if ($request_uri ~* "?") {
return 403 ;
}

不允许url中包含等号=

if ($request_uri ~* "=") {
return 403 ;
}

效果如下

%title插图%num