nginx如何配置访问时域名中不带某字符就强制重定向
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx如何配置访问时域名中不带某字符就强制重定向相关的知识,希望对你有一定的参考价值。
我想让域名访问时,如果url中不带有static关键字就强制重定向到404页面,请高手帮忙解决一下
一个nginx服务器只能有一个虚拟主机允许IP访问只要在server_name最后面添加一个default,就可以在其他nginx没有定义的域名下,使用当前server解析(例如,其他server都没有定义ip地址作为server_name则用IP访问会被打到default主机上)追问
答非所问
参考技术A location !~ staticrewrite ^ /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_module
2.编译安装
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如何配置访问时域名中不带某字符就强制重定向的主要内容,如果未能解决你的问题,请参考以下文章