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

mac2024-03-31  30

一  域名解析

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

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 { } }

 

最新回复(0)