Изменить корневую папку документа на общем сервере с помощью.htaccess

Я являюсь администратором сервера Apache (в пакете хостинга, который позволяет мне размещать несколько доменов), у меня есть один домен в public_html (назовем это www.ROOTwebsite.com) и 9 других доменов, размещенных в папке на том же уровне каталогов, что и public_html, называется DOMAINS,

Итак, структура:

-DOMAINS/site1.com/
        /site2.com/ ... etc
-public_html

я использую '/' в начале всех относительных путей в Wamp для site1.com (например /menu.php), и он работает нормально, но когда я загружаю на DOMAINS/site1.com/, он портит сайт, потому что он явно смотрит на public_html каталог как корень.

Я использовал несколько следующих комбинаций в файле.htaccess, но я не могу понять, какой синтаксис является правильным, чтобы изменить ROOT на каталог с NEXT на public_html, а не под ним, как обычно:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.ROOTwebsite.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^ROOTwebsite.gr$
RewriteCond %{REQUEST_URI} !DOMAINS/site1.com/
RewriteRule (.*) /DOMAINS/site1.com/$1 [L]

Я хочу изменить корневой каталог для site1.com так что это также работает с '/', не влияя на public_html Веб-сайт.

Кто-нибудь может увидеть проблему с кодом выше?

2 ответа

Самое близкое, что я пришел для переопределения корня документа с помощью.htaccess, это следующее (не совсем то, о чем вы спрашиваете, потому что в моем примере site1.com - это подкаталог основного корня документа, но это дало бы то, что вы хотите, с предостережение ниже).

RewriteCond %{HTTP_HOST} ^site1.com$ [NC]
RewriteRule !^site1.com/ /site1.com%{REQUEST_URI} [L,NC]

это эффективно перенаправит все site1.com в подкаталог site1.com. [caveat] Единственная проблема, которую я не смог решить, это как перенаправить URL-адрес, который идет непосредственно в подкаталог, такой как http://site1.com/site1.com/index.html на http://site1.com/index.html

Вы не можете переопределить корень документа через.htaccess. Вы должны создать разные vhosts для доменов, которые затем могут иметь отдельные корни документа.

Другие вопросы по тегам