2016-11-02 17 views
1

プライマリWebサイトのコンテンツを独自のサブフォルダに移動することで、自分のベースディレクトリを細かくしたいと考えています。ただし、へのサブフォルダ名は、が理想的にはURLに表示されないようにします。何も変わっていないように見えるはずです。私はStackOverflowに関する他の同様の質問を閲覧しましたが、私の問題を解決していません(下記参照)。サブディレクトリ名がURLに表示されないようにするにはどうすればよいですか?

これまでのところ、私は私の.htaccessファイルに次のコードを持っている:私はdomain.com/に移動した場合の場所でこれにより

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ 
RewriteCond %{REQUEST_URI} !^/sub/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /sub/$1 
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ 
RewriteRule ^(/)?$ sub/index.html [L] 

を、私は期待通りsubの内容を見ていない、とでは何もURL。これまでのすべての良い。

問題

私はなしdomain.com/folder最後のスラッシュのようなURLに移動しようとすると、問題が発生します。最終的なURLはdomain.com/sub/folderとなります。私はsubをそこに、どこにでも望んでいません。すべての場合にsubが隠れているように、.htaccessファイルに何を追加する必要がありますか?

domain.com/folder/のような末尾のスラッシュを追加すると、subは必要に応じて非表示になります。問題が発生するのは末尾のスラッシュがない場合だけです。

を使用でき
+1

、http://htaccess.mwl.be/とhttp://martinmelin.se/rewrite-rule-tester/を使用しようとしましたが、そうではありませんURLを隠す問題に対処してください。幸運にも、UNIXの仲間がその間に答えなかったなら、私はこれに戻ります... – Eugene

答えて

1

FYI
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ 
RewriteCond %{REQUEST_URI} !^/sub/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+)/?$ /sub/$1 [L] 
RewriteCond %{HTTP_HOST} ^(www.)?domain.com$ 
RewriteRule ^/?$ sub/index.html [L] 
+0

これはうまくいきました!可能であれば、初心者のためにこのソリューションをどのように考案したのか説明できますか? – Dalal

+0

[正規表現]で「簡単」変更(http://www.regular-expressions.info/) – Croises

関連する問題