我们可以将多个域映射到一个网站网址吗?

时间:2020-11-11 08:01:29

标签: wordpress nginx amazon-ec2 multisite domain-mapping

我们有一个wordpress多站点网站(example.com),它有多个子站点。子网站之一是台湾网站(example.com/tw/)。

我们购买了2个域(example.tw和example.com.tw),我们想将这2个域映射到example.com/tw/,但最终网址将显示example.tw或example.com.tw。

我们还希望即使使用2个域映射也可以访问主域。

  • 如果用户访问 example.tw ,则最终到达网址为 example.tw ,他们将看到example.com/tw/网站
  • 如果用户访问 example.com.tw ,则最终到达网址为 example.com.tw ,他们将看到example.com/tw/网站
  • 如果用户访问 example.com/tw / ,则最终到达网址为 example.com/tw / ,他们将看到 example.com/tw/网站

AWS

  • 我们有两个AWS EC2实例,并且都连接到一个应用程序 负载均衡器。

53号公路

  • 我们添加了两个域,并将A记录指向负载均衡器。

NGINX

以下是NGINX配置

server {
    listen 80;
    listen [::]:80;

    root /var/www/example.com/public_html;

    index index.html index.php;

    server_name www.example.com example.com example.tw example.com.tw;

    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    server_tokens off;
    fastcgi_hide_header X-Powered-By;
    add_header X-Frame-Options "DENY";

    location / {
       try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
     include fastcgi.conf;
     fastcgi_intercept_errors on;
     fastcgi_pass unix:/run/php-fpm/www.sock;
    }


    #Browser Caching
    location ~* \.(js|css|png|jpg|jpeg|gif|svg|ico)$ {
     expires 30d;
     add_header Cache-Control "public, no-transform";
    }

    #Expires Header
    location ~*  \.(jpg|jpeg|gif|png|svg)$ {
     expires 365d;
    }

    location ~*  \.(pdf|css|html|js|swf)$ {
     expires 2d;
    }

    # Add support for subdirectory structure in WordPress Multisite
    if (!-e $request_filename) {
        rewrite /wp-admin$ $scheme://$host$uri/ permanent;
        rewrite ^(/[^/]+)?(/wp-.*) $2 last;
        rewrite ^(/[^/]+)?(/.*.php) $2 last;
    }




}

WordPress配置

下面是我们在wp-config.php中为多站点添加的代码。

/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'example.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

define('WP_ALLOW_REPAIR', true);

define('FORCE_SSL_ADMIN', true);

define('WP_HOME','https://example.com');

define('WP_SITEURL','https://example.com');

if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false){
        $_SERVER['HTTPS']='on';
}

//define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);

define('FS_METHOD', 'direct');

//define('SUNRISE', 'on');

已测试插件


WordPress MU域映射插件

我们尝试使用WordPress MU域映射插件。如您在配置上看到的,我们定义了日出常数,但是由于我们删除了插件,因此将其注释掉。

当我们使用WordPress MU域映射时,example.tw域起作用。它能够屏蔽该网站,并在最终URL上显示example.tw。但是,主域无法正常工作。每次访问example.com/tw/时,它会将我们重定向到example.tw,这也许是因为我们将其定义为主域。

单个站点上的多个域映射

作者说他们的插件不支持该功能。

问题

  • 我们如何将两个或多个域映射到单个example.com/tw /?

0 个答案:

没有答案
相关问题