.htaccess: перенаправить корневой URL-адрес в подкаталог, но сохранить корневой URL-адрес

Я занимаюсь очисткой своего домена структура каталогов ain (горе мне за настройку содержимого корневого URL в корневом каталоге!) и мне нужно немного понять, как правильно использовать RewriteRule.

The Gist

Я хочу domain.tld ] для использования domain.tld / subdirectory / , но по-прежнему отображается как domain.tld в URL

My .htaccess So Far

Options +FollowSymlinks
RewriteEngine On

#Force removal of wwww subdomain
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.domain.tld
RewriteRule ^(.*)$ http://domain.tld/$1 [R=301,L]

#Trailing slash
RewriteRule ^/*(.+/)?([^.]*[^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301]

#Redirect root url to subdirectory
RedirectMatch 301 ^/subdirectory/$ http://domain.tld/
RewriteRule ^/$ /subdirectory/?$ [L]

RedirectMatch отлично работает. К сожалению, кажется, что последнее RewriteRule должно работать достаточно просто, но это не так. По-прежнему отображается старая настройка содержимого в корневом каталоге.

Что мне здесь не хватает?

Обновление: решено

Простое исправление, при котором у меня недостаточно опыта работы с .htaccess / apache, чтобы объяснить, почему.

У меня было:

RewriteRule ^/$ /subdirectory/?$ [L]

Удаление одной косой черты исправило все:

RewriteRule ^$ /subdirectory/?$ [L]

Итак, теперь мой вопрос: почему это?

6
задан Charlie 12 February 2013 в 18:16
поделиться