В WordPress 3 есть возможность делать мультиблоги, но в данный момент блоги можно делать только на поддомен или в какую-нибудь директорию. Хочется как в Drupal – одна инсталляция и несколько сайтов с доменом второго уровня.
В управлении сайтом можно вбить вместо sub.example.com желаемый newexample.com. Будут работать два сайта, но логиниться в панель управления можно будет только в example.com. Если попробовать залогиниться в newexample.com, то ничего не выйдет – куки всё равно будут приходить для example.com.
Пока не появилась родная поддержка сделал так:
в wp-includes/ms-default-constants.php в функции ms_cookie_constants() изменил строку
define('COOKIE_DOMAIN', '.' . $current_site->cookie_domain);
на
define('COOKIE_DOMAIN', '.' . $_SERVER[SERVER_NAME]);
На тестовом сайте всё заработало, сделал на хостинге – не логинится. Как выяснилось, у хостера в файле конфигурации сайта по умолчанию стоял UseCanonicalName On. Нужно в <VirtualHost> поставить UseCanonicalName Off.
И ещё один нюанс. Всё это замечательно работает для http://newexample.com/. Если в управлении сайтом поставить http://www.newexample.com/, то всё будет работать замечательно, пока мы не попытаемся обратиться к http://newexample.com/. Нас перенесёт на http://example.com/wp-signup.php?new=newexample.com. Нужно будет сделать редирект в .htaccess:
RewriteCond %{HTTP_HOST} ^newexample\.com$ RewriteRule ^(.*)$ http://www.newexample\.com/$1 [R=301,L]
Также, следует понимать, что это полнейшие костыли, и до тех пор, пока не сделают нормальную поддержку, лучше на критически-важных сайтах не использовать.
UPD
Так как хакать ядро нехорошо, в wp-includes/ms-default-constants.php вернул всё как было, а в wp-config.php добавил
define('COOKIE_DOMAIN', '.' . $_SERVER[SERVER_NAME]);
Однако, если у хостера стоит UseCanonicalName On, и изменить нельзя, то в wp-includes/ms-default-constants.php вместо ранее указанного варианта можно прописать
define('COOKIE_DOMAIN', '.' . str_replace('http://', '', get_bloginfo('url')));
спасибо, помогло, хотя полдня убила. смущает только то, что одинаковый пароль в основном сайте и «прикрепленном». впечатление, что еще где-то пройдет склейка….
Всё нормально – в панели управления теперь можно создавать пользователей, и потом в редактировании информации о сайте присваивать этим пользователям роли для каждого сайта. Пользователя admin можно оставить глобальным для всех, а для каждого сайта сделать своего пользователя с правами, например, редактора.
это да, это увидела.
однако пришлось через поиск найти блог опять)))
перебрасывает без www/ на основной. Думаю, где-то я уже это читала =)
не помогает rewrite с 301 редиректом. тупо пересмотрела все.
где-то оно перебивается? буду искать, спасибо за инфу
добавьте подписку на комменты…
все. проблема решена.
поставить rewrite с 301 нужно повыше, а не в конец, как я…
=)
Эх, времени пока хватает только комментировать. Постараюсь как-нить добавить.
Рад, что разобрались =)
спасибо=)
а еще проблемы при указании одинаковых ящиков..
но самое противное, это то, что в функции wp_post нет параметра id блога
пришлось брать методы wpdb, чтобы постить напрямую, но при этом все же есть косяки
если вы кодер и в сео притом, то понимаете для чего и зачем это…
2lissa: Блин. То есть никак не получится через xml-rpc постить в эти блоги?..