Установка администратора многоузловой сети в поддомене
Я искал в Сети, а также играл с 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.
3 answers
Да. Вот инструкции:
- Установите и настройте WP для www.example.com
- Настройка мультисайта - можно использовать либо поддомен, либо подкаталог
- Установите плагин сопоставления доменов WP - http://wordpress.org/plugins/wordpress-mu-domain-mapping /
- Создайте новый сайт, например, сайт1
- Используя плагин сопоставления доменов, сайт карты (site1.www.example.com или www.example.com/site1 ) предпочтительному имени сайта (site1.example.com)
Я на самом деле есть два отдельных сайта WP, настроенных, как указано выше, один из которых является поддоменом, а другой - подкаталогом. На одном из сайтов размещено 200 различных имен хостов. Другой находится в разработке и настроен только для двух имен хостов.
В настоящее время я всегда работаю с 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; }
}
Вы могли бы добиться этого, изменив конфигурацию nginx. Я использую Apache, поэтому не могу сказать вам, как это сделать. Вы можете найти свой ответ здесь. Если вы этого не сделаете, вам лучше спросить об Ошибке сервера