Следующая вики 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 и ограничивает доступ ко всем корневым каталогам, кроме блога.
Вот мои конкретные вопросы ..
Как я могу изменить код, чтобы он работал с любым поддоменом (any.domain.com), а также работал без поддомена (domain.com)?
Как сделать так, чтобы 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 (домен верхнего уровня) и «блог» в любой подкаталог, который вы хотите, чтобы корень прозрачно перенаправлял в.