У меня есть два домена на моей Apache Ubuntu VM:
www.domain01.com
www.domain02.com
Моя нынешняя ситуация:
www.domain01.com
открывается с пути: /var/www/html/index.html
.www.domain02.com
открывается с того же пути, но с добавленным каталогом /var/www/html/domain02/index.html
и мы должны написать домен.Мне нужно, чтобы сделать следующее:
www.domain01.com
домашний каталог /var/www/html/domain01/
.www.domain02.com
домашний каталог /var/www/html/domain02/
.Таким образом, когда пользователи пишут какой-либо домен из них, они идут прямо на правильный путь и не появляются подкаталоги в пути.
Я обнаружил, что люди говорят о файле .htaccess
но когда я искал его, я обнаружил, что ничего не содержит, он содержит следующее:
deny from all
AllowOverride None
Примечание. Этот файл прерван намеренно, мы не хотим, чтобы кто-то отменил его в подкаталоге!
Что я могу сделать?
.htaccess
не требуется для вашего дела. Добавьте ниже <VirtualHost>
блоки для конфигурации apache (/etc/apache2/apache2.conf
).
<VirtualHost *:80>
ServerName domain01.com
ServerAlias www.domain01.com
DocumentRoot /var/www/html/domain01/
</VirtualHost>
<VirtualHost *:80>
ServerName domain02.com
ServerAlias www.domain02.com
DocumentRoot /var/www/html/domain02/
</VirtualHost>
Это правило можно использовать в файле DOCUMENT_ROOT/.htaccess
:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?domain01\.com$ [NC]
RewriteRule !^domain01/ /domain01%{REQUEST_URI} [L,NC]
Тогда внутри /domain01/.htaccess
есть это правило:
RewriteEngine On
RewriteBase /domain01/
RewriteCond %{THE_REQUEST} \s/+domain01/(\S*) [NC]
RewriteRule ^ /%1 [L,NE,R=302]