一 域名解析
在你的域名管理里面对域名进行解析
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 {
}
}