WordPress多域名指向同一个网站的配置方法

2021年10月15日

原创内容,转载请注明出处:https://www.myzhenai.com.cn/post/3963.html

在我们架设网站的过程当中,有时是需要双域名或者多域名指向同一个文件目录的,说白了就是多个域名指向同一个网站,这当中有一些新手朋友们就容易弄糊涂,例如在使用一些面板的时候。

其实我们只要理解了网站的流程就都懂得了,在这里把步骤跟大家说一下。

一、配置IP地址绑定
需要在你的IP地址转发面板里做好多个转发记录,分别将域名和IP地址绑定。

二、配置文件目录绑定
我没用过管理面板,所以不清楚管理面板如何写入conf文件的,我们这里以nginx为例。

find / -name nginx.conf
#查找这个文件的路径,然后用vi打开这个文件
vi /usr/local/nginx/conf/nginx.conf
#nginx默认是这个路径

 

include vhost/*.conf;

查看nginx.conf最底部的include这一行,看看存放网站conf文件的是哪一个目录,如果没有,可以在这里边加上这一行,然后创建一个目录。

mkdir /usr/local/nginx/conf/vhost
#创建一个vhost目录
echo "" > /usr/local/nginx/conf/vhost/www.xxxxx.com.conf
#创建一个域名配置文件,有多个域名就创建多个
vi /usr/local/nginx/conf/vhost/www.xxxxx.com.conf
#打开这个配置文件,将以下的内容粘贴到这个配置文件中,进入vi的编辑模式是i键,保存是ESC键后,SHIFT键+ZZ键
server
    {
        listen 80;
        listen 443 ssl;
        #listen [::]:80;
        server_name www.xxxx.com xxxx.com;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /var/www/www.xxxx.com;
        ssl_certificate /usr/local/nginx/cert/www.xxxx.com.pem;
        ssl_certificate_key /usr/local/nginx/cert/www.xxxx.com.key;
        include rewrite/wordpress.conf;
        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        include enable-php-pathinfo.conf;

location ~* ^.+\.(gif|jpg|jpeg|png|swf|flv|mp3|mp4|ogg|flav|wav|rar|zip|tar|gz)$ {
        valid_referers none blocked  myzhenai.com www.myzhenai.com *.myzhenai.com *.myzhenai.com.cn *.mybabya.com *.python.hn.cn *.haikou-china.com *.0898-shop.com *.baidu.com *.google.com *.360.cn;
        if ($invalid_referer) {
            return 404;
            break;
                    }
}

        location ~ .*\.(jpg|jpeg|png|gif|ico|css|js|mp3|wav)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }

        access_log  /var/wwwlogs/www.xxxx.com.log;
    }

listen 这一行是开启端口

server_name 这一行是域名,指单个域名的二级域名和一级域名或三级域名

root 这一行是网站目录

ssl_certificate  这部份是ssl文件地址

location 这两段是防盗链

三、wordpress配置文件里的修改

vi /var/www/www.xxxx.com/wp-config.php
#打开wordpress配置文件

在define字段前边插入以下你修改过的代码

/** 这是判断https还是http,并且根据当前域名来设置来路, */
if($_SERVER["SERVER_PORT"] == "443")
{
    $yovisunhome = 'https://'.$_SERVER['HTTP_HOST'];
    $yovisunsiteurl = 'https://'.$_SERVER['HTTP_HOST'];
}
else
{
    $yovisunhome = 'http://'.$_SERVER['HTTP_HOST'];
    $yovisunsiteurl = 'http://'.$_SERVER['HTTP_HOST'];
}
define('WP_HOME', $yovisunhome);
define('WP_SITEURL', $yovisunsiteurl);

这是自动识别Home和文章链接的,例如多个域名的话,如果不这样修改,你的Home和文章链接就会乱。

到此,配置就完成了,至于其他网友说的按照浏览用户IP地址来识别,屏蔽国内用户的方法,可以参考我以前写的两篇文章进行修改,首先就是获得浏览用户的IP地址与国家,然后进行判断就可以了。

请参考:PHP获取客户浏览器版本 系统版本 IP地址和IP所在国家源代码及例程  PHP查询用户IP所在地址


sicnature ---------------------------------------------------------------------
I P 地 址: 3.15.218.244
区 域 位 置: 美国
系 统 信 息: 美国
Original content, please indicate the source:
同福客栈论坛 | 蟒蛇科普海南乡情论坛 | JiaYu Blog
sicnature ---------------------------------------------------------------------
Welcome to reprint. Please indicate the source https://myzhenai.com.cn/post/3963.html

没有评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注