WordPress — PHP: изменить корень документа в соответствии с именем домена

Привет я хотел бы указать несколько доменов на один из моих серверов, который содержит несколько простых примеров сайтов WordPress. Я хочу показать сайт по доменному имени. Есть ли способ изменить корень документа с помощью PHP? Мне удалось использовать приведенный ниже код, но проблема в том, что все домены переходят только в папку wp_domain1.

Если возможно, я хочу использовать PHP для этого, чтобы я мог легко добавить больше доменов.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain1.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain1com$
RewriteCond %{REQUEST_URI} !wp_domain1/
RewriteRule (.*) /wp_domain1/$1 [L]
RewriteCond %{HTTP_HOST} ^domain2.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain2.com$
RewriteCond %{REQUEST_URI} !wp_domain2/
RewriteRule (.*) /wp_domain2/$1 [L]

-1

Решение

Прежде всего я хотел бы предложить просто следовать опции Jigar, используя vhosts и создавая vhosts вручную или автоматически распознавая папки и прослушивая их для домена.

Если вы не хотите этого делать, и вы устанавливаете только WordPress. Посмотрите на сборку WordPress способами установки нескольких сайтов / доменов.
https://codex.wordpress.org/Create_A_Network

Если вы все еще хотите создать php-код, чтобы написать для вас файл .htaccess, вы можете использовать это.

<?php
$domains = array("domain1.com" => "wp_domain1", "domain2.com" => "wp_domain2");

$fileName = "/path/to/your/.htaccess";

touch($fileName);
$file = fopen($fileName, 'w');

fwrite($file, "RewriteEngine On");
foreach($domains as $domain => $folder) {

fwrite($file, "RewriteCond %{HTTP_HOST} ^". $domain ."$ [NC]
RewriteCond %{REQUEST_URI} !". $folder ."/ [NC]
RewriteRule ^(.*)$ /". $folder ."/$1 [L]");
}

fclose($file);
?>

Это создает файл .htaccess, как показано ниже. Который работает для меня, чтобы сопоставить поддоменов с папкой без папки, отображаемой в URL.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain1.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain1.com$
RewriteCond %{REQUEST_URI} !wp_domain1/
RewriteRule (.*) /wp_domain1/$1 [L]
RewriteCond %{HTTP_HOST} ^domain2.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain2.com$
RewriteCond %{REQUEST_URI} !wp_domain2/
RewriteRule (.*) /wp_domain2/$1 [L]
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]