Изменить корневую папку документа на общем сервере с помощью.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 для доменов, которые затем могут иметь отдельные корни документа.