Установка администратора многоузловой сети в поддомене


Я искал в Сети, а также играл с Wordpress, чтобы добиться желаемой установки на нескольких сайтах, но пока не добился успеха. Что я хочу сделать, так это установить сайт администратора сети в поддомене, таком как www.example.com (не example.com), и другие сайты в сети в поддоменах, таких как client.example.com (не client.www.example.com).

Есть ли какой-нибудь способ сделать это возможным!?

Важное примечание: Я хочу сопоставить example.com с другим сервером с другим IP-адресом, отличным от www.example.com, и остальной частью места. Кроме того, я не хочу вручную сопоставлять адреса каждого подсайта. Я хочу, чтобы это было автоматически.

Спецификация сервера: Я использую nginx + php-fpm + fastcgi + centos 5.9.

 2
Author: Ali Hashemi, 2013-11-30

3 answers

Да. Вот инструкции:

  1. Установите и настройте WP для www.example.com
  2. Настройка мультисайта - можно использовать либо поддомен, либо подкаталог
  3. Установите плагин сопоставления доменов WP - http://wordpress.org/plugins/wordpress-mu-domain-mapping /
  4. Создайте новый сайт, например, сайт1
  5. Используя плагин сопоставления доменов, сайт карты (site1.www.example.com или www.example.com/site1 ) предпочтительному имени сайта (site1.example.com)

Я на самом деле есть два отдельных сайта WP, настроенных, как указано выше, один из которых является поддоменом, а другой - подкаталогом. На одном из сайтов размещено 200 различных имен хостов. Другой находится в разработке и настроен только для двух имен хостов.

 1
Author: user42826, 2013-12-08 19:23:53

В настоящее время я всегда работаю с Apache, но, возможно, вам следует установить константу COOKIE_DOMAIN в пустое значение. В противном случае WordPress всегда будет устанавливать его на $current_site->domain вашей сети, и вы не сможете войти ни на один из других сайтов.

define('COOKIE_DOMAIN', '');

www в домене похоже на поддомен, запутанный и бесполезный. Возможно, вы настроили установку на домен без www или добавили правило в .htaccess установки, чтобы все адреса работали с www, как и источник ниже.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

Также подсказка к конфигурации nginx для поддомена на WordPress. Но я не проверял, только нашел в этом посте.

server {
        ##DM - uncomment following line for domain mapping  
        #listen 80 default_server;
    server_name example.com *.example.com ;
    ##DM - uncomment following line for domain mapping
    #server_name_in_redirect off;

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

    root /var/www/example.com/htdocs;
    index index.php;

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

    location ~ \.php$ {
        try_files $uri /index.php;
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
    }

    location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
        access_log off; log_not_found off; expires max;
    }

    location = /robots.txt { access_log off; log_not_found off; }
    location ~ /\. { deny  all; access_log off; log_not_found off; }
}
 1
Author: bueltge, 2013-12-08 21:03:13

Вы могли бы добиться этого, изменив конфигурацию nginx. Я использую Apache, поэтому не могу сказать вам, как это сделать. Вы можете найти свой ответ здесь. Если вы этого не сделаете, вам лучше спросить об Ошибке сервера

 0
Author: Manolo, 2017-04-13 12:13:50