nginx如何禁止网站url后面带?问号的url,设置为403
时间: 2023-11-22 13:52:59 浏览: 100
Forbidden?
要禁止网站URL后面带问号的URL并设置为403 Forbidden状态,你可以使用nginx的rewrite规则来实现。具体步骤如下:
1. 在nginx配置文件中增加以下rewrite规则:
```
if ($query_string) {
return 403;
}
```
2. 重新加载nginx的配置文件,使其生效。
3. 当URL后面带有?时,nginx会返回403 Forbidden状态码,从而禁止访问该URL。
请注意,该方法仅适用于禁止URL后面带问号的情况。如果你需要进一步限制URL,可以参考nginx的其他配置选项。
相关问题
nginx如何禁止网站url后面带?问号的页面,设置为403
禁止URL后面带问号的页面可以通过在nginx的配置文件中添加如下代码来实现:
```
location ~ \? {
return 403;
}
```
这将对所有URL后面带问号的页面返回403错误码,并拒绝访问。需要注意的是,这种设置可能会影响某些特定的页面功能,因此需要根据实际情况进行调整。另外,nginx的配置需要重启才能生效。
nginx 301 不保留问号后面的
要在nginx的301重定向中不保留问号后面的内容,可以使用下面的配置:
```
location /old-url {
if ($request_uri ~ ^([^?]*)\?(.*)$) {
return 301 $1;
}
}
```
这个配置使用了一个正则表达式,将请求URI中问号后面的内容分离出来,并将重定向目标设置为不带问号的部分。注意,这个配置只对/old-url路径的请求生效。如果需要对所有请求都生效,可以将这个配置添加到server块中。
阅读全文