Измените корень документа для любого домена на собственный подкаталог

Я пытаюсь создать файл.htaccess, который изменит корень документа домена на подпапку на моем сервере без фактического изменения URL-адреса для конечного пользователя. Вот пример того, что я пытаюсь сделать:

  • domain1.com будет искать веб-контент в /domains/domain1.com но все равно выглядят как domain1.com,
  • domain2.com будет искать веб-контент в /domains/domain2.com но все равно выглядят как domain2.com,

Каждый домен будет указывать на корневой каталог / поэтому я помещаю файл.htaccess здесь, /.htaccess,

Я не хочу добавлять каждый свой домен в файл.htaccess, я бы хотел, чтобы он следовал этому формату для каждого домена, который появляется на его пути.


Я попытался узнать о.htaccess и создать его сам, однако я не могу найти способ для этого. То, что у меня сейчас есть, перенаправляет каждый домен в свой подкаталог и выдает ошибку "слишком много перенаправлений".

  • то есть. domain1.com перенаправляет конечного пользователя на domain1.com/domains/domain1.com

Это содержимое файла.htaccess:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$
RewriteRule ^(.*)$ /domains/%1 [L]

1 ответ

Неплохо, попробуйте это:

RewriteEngine on
# remove www, externally for consistent domains
RewriteCond %{HTTP_HOST} ^www\.(.+)$
RewriteRule .* http://%1/$0 [NS,L,R=301]
# document root emulation
RewriteCond %{HTTP_HOST} .+
RewriteRule ^(?!domains/[^/]+/).* domains/%0/$0 [NS,L]
Другие вопросы по тегам