2012-03-29 8 views
17

私の主なpublic_htmlディレクトリ以下の.htaccessのルールがあります。はどのように親のhtaccessのルールを継承し、サブディレクトリを停止し

Options +FollowSymLinks 
IndexIgnore */* 
<IfModule mod_rewrite.c> 
RewriteEngine on 

# if a directory or a file exists, use it directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# otherwise forward it to index.php 
RewriteRule . index.php 
</IfModule> 

問題がある、私は、ソースと呼ばれるサブディレクトリを持っている、と私はしたい、そのディレクトリだけリストへその中のファイル(インデックスファイルがないため)。問題は、上記の親ディレクトリのhtaccessルールによって、ソース内のファイルがディレクトリインデックスに表示されなくなっていることです(空のインデックスのみが表示されます)。

どうすればこの問題を解決できますか?

THANKS

答えて

19
これであなたの.htaccessを変更

Options +FollowSymLinks 
<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteBase/

# if a directory or a file exists, use it directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
# if request is not for the /sub-dir/ 
RewriteCond %{REQUEST_URI} !^/sub-dir/ [NC] 
# otherwise forward it to index.php 
RewriteRule . index.php 
</IfModule> 
+1

ありがとう、これは完全に働いた! – user1280853

+1

あなたは私の一日をどのように解決しましたか? – Naeem

3

これは明白であり、あなたはすでにそれを試してみた - しかし、あなたが興味のサブフォルダ内の.htaccessファイルを作成していますか?このファイルの設定は、ルートフォルダ内の同等の設定を上書きします。

UPDATE:代わりに IndexIgnore */* のルートの.htaccessファイルについては、

...この一行を置き、サブフォルダの.htaccessファイルに、次に Options -Indexes

を試してみてください。 Options +Indexes

これで効果はありますか?

+0

はい、私は持っているが、私は親の.htaccessファイルから設定を上書きするために使用する設定が分かりません。 – user1280853

+0

あなたのシナリオではうまくいくかもしれない解決策を使って答えを更新しました。 –

+0

シンプルで高速で堅牢なソリューション!間違いなく、あなたは人生の節約者です。 –

関連する問題