nginx如何配置访问时域名中不带某字符就强制重定向

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx如何配置访问时域名中不带某字符就强制重定向相关的知识,希望对你有一定的参考价值。

我想让域名访问时,如果url中不带有static关键字就强制重定向到404页面,请高手帮忙解决一下

一个nginx服务器只能有一个虚拟主机允许IP访问
只要在server_name最后面添加一个default,就可以在其他nginx没有定义的域名下,使用当前server解析(例如,其他server都没有定义ip地址作为server_name则用IP访问会被打到default主机上)追问

答非所问

参考技术A location !~ static
rewrite ^ /error_pages/404.html;
return 404;


或者
location /
if($request_uri !~ "static")
rewrite ^ /error_pages/404.html;
return 404;


没有测试过,自己去测试一下吧,不对的话,再多搜索一下相关资料看看吧

Nginx强制跳转Https配置

今日因需要将自己的博客域名加入https支持,并把之前的HTTP访问强制跳转到HTTPS。

1、nginx支持https

如果起初nginx编译时没有添加ssl支持,需要对nginx重新编译,增加http_ssl_module模块

1.配置./configure--prefix=/usr/local/nginx--with-http_stub_status_module--with-http_ssl_module2.编译安装make && make install

2、配置https域及SSL证书

server { listen 443 ssl; server_name www.snailscoder.com; ssl_certificate ../ssl/***.crt; ssl_certificate_key ../ssl/***.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; location / { root html; index index.html index.htm; }}

配置好后,测试https是否可以正常访问。

3、http强制跳转https

此处因http下无其他信息,单纯配置了跳转

server { listen 80; server_name www.snailscoder.com; #方式一 return 301 https://$server_name$request_uri; #方式二 #rewrite ^/(.*)$ https://www.snailscoder.com/$1 permanent; #方式三 #rewrite ^ https://www.snailscoder.com$request_uri? permanent;}

博客内容较简单,仅为个人配置记录,有问题可留言咨询。有更好的方案,也请多多指教。

以上是关于nginx如何配置访问时域名中不带某字符就强制重定向的主要内容,如果未能解决你的问题,请参考以下文章

Nginx处理访问www域名跳转到不带www域名的配置方法

Nginx http强转https

nginx 301重定向,实现不带www跳转www域名

nginx 301重定向,实现不带www跳转www域名

Nginx 配置 https 后,http 强制跳转到 https,主域名跳转至带 www 的二级域名

Nginx配置HTTP强制跳转到HTTPS