Привет я хотел бы указать несколько доменов на один из моих серверов, который содержит несколько простых примеров сайтов 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]
Прежде всего я хотел бы предложить просто следовать опции 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]
Других решений пока нет …