Назад | Перейти на главную страницу

Как прозрачно перенаправить только корневой каталог на общем сервере DreamHost.com?

Следующая вики DreamHost объясняет, как прозрачно перенаправить корневой каталог в подкаталог.

http://wiki.dreamhost.com/Transparently_redirect_your_root_directory_to_a_subdirectory

Рекомендуемый код: ..

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/blog/
RewriteCond %{HTTP_HOST} ^(www\.)?domain\. 
RewriteRule ^(.*)$ /blog/$1 [L]

Однако рекомендуемый код работает только в субдомене www и ограничивает доступ ко всем корневым каталогам, кроме блога.

Вот мои конкретные вопросы ..

  1. Как я могу изменить код, чтобы он работал с любым поддоменом (any.domain.com), а также работал без поддомена (domain.com)?

  2. Как сделать так, чтобы domain.com перенаправлял на domain.com/blog, но при этом разрешал доступ к domain.com/any-other-directory?


ОБНОВЛЕНИЕ: этот вопрос был неправильно помечен как повторяющийся. Предлагаемый пост не отвечает на этот конкретный вопрос реализации об этом конкретном хостинг-провайдере. У меня еще нет очков репутации, чтобы добавить это в предлагаемый пост, поэтому, если кто-то добавит мой вопрос в предложенный пост, я удалю этот вопрос. Спасибо.

Некоторые из этого кода ..

http://wiki.dreamhost.com/Transparently_redirect_your_root_directory_to_a_subdirectory

..и часть этого кода ..

Как перенаправить root и только root через htaccess?

.. делает это решение ..

RewriteEngine on
RewriteCond %{HTTP_HOST} domain\.com [NC]
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ /blog/$1 [L]

К вашему сведению, если вы используете этот код в корневом файле .htaccess своего собственного веб-сайта, вам нужно будет изменить «домен» на свой конкретный TLD (домен верхнего уровня) и «блог» в любой подкаталог, который вы хотите, чтобы корень прозрачно перенаправлял в.