301跳转-Apache和Nginx输入ip跳转到域名--输入ip禁止访问

一  域名解析

在你的域名管理里面对域名进行解析 

xxx.com  指向你的主机ip地址   记录类型为@

 www.xxx.com 指向你的主机ip地址    记录类型为A

二 Apache 配置

1 修改httpd.conf文件

去掉#打开重定向模块   LoadModule rewrite_module modules/mod_rewrite.so

打开 # Virtual hosts
Include conf/extra/httpd-vhosts.conf
 

2 编辑conf/extra/httpd-vhosts.conf

<VirtualHost *:80>
    RewriteEngine On
    RewriteRule ^/(.*) http://www.tangbin.com/$1 [R=301,NC]
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin  464403694@qq.com
    DocumentRoot "/var/html/www"
    ServerName www.tangbin.com
    ErrorLog "logs/www-error_log"
    CustomLog "logs/www-access_log" common
</VirtualHost>

三 Nginx 配置

vim /nginx/conf/nginx.conf

在http节点下添加如下,已经添加ssl证书前提下。
server
{
    listen 80;
    server_name 192.168.10.8 xxx.com;
    rewrite ^/(.*) https://www.xxx.com/$1 permanent;

}
~   

这样就是用户直接访问ip和 xxx.com 直接跳转的www.xxx.com。即让不带 www 的域名跳转到带 www 的域名。

拓展

可以是多个二级域名、三级域名都可以随意跳转、或者让它们都跳转到 xxx.xxx.com 这个域名,添加如下语句即可

    server{
    	listen 80;
    	server_name xxx.xxx.com xxx.xxx.net;
    	if ($host = 'xxx.xxx.net') {
    	rewrite ^/(.*)$ http://xxx.xxx.com/$1 permanent;
    }

输入ip禁止访问

再nginx.conf中第一个server配置

server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/local/nginx/html;

        #include /etc/nginx/default.d/*.conf;

        location / {
        deny all;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值