私のドメインのディレクトリ構造を整理しています(rootのディレクトリにルートURLのコンテンツを設定するために私に任せてください) RewriteRuleを正しく使用する方法について説明します。.htaccess:ルートURLをサブディレクトリにリダイレクトしますが、ルートURLは保持します
骨子
私はdomain.tldに/サブディレクトリ/を使用するが、それでも、URLでdomain.tldにとして表示するdomain.tldにをしたいです。
私の.htaccessは、これまで
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は素晴らしい作品。残念なことに、Tは最後のRewriteRuleと思われますは十分に機能するはずですが、そうではありません。ルートディレクトリの古いコンテンツの設定は引き続き表示されます。
私はここで何が欠けていますか?
アップデート:私は、理由を説明することができるように.htaccessファイル/ apacheのに十分な経験がないのです解決
簡単な修正。
私が持っていた:
1つのスラッシュ固定すべて削除RewriteRule ^/$ /subdirectory/?$ [L]
:
RewriteRule ^$ /subdirectory/?$ [L]
をだから今、私の質問は次のとおりです。つまり、なぜ?