2013-07-25 7 views
8

を使用して、いくつかのものを除き、すべてのフォルダへのアクセスを拒否する私webprojectが/var/www/vhosts/domain.tld/httpdocs/に保存されている私は、以下のリストが表示されますhtaccessの

HTACCESファイルには以下が含まれています。

# Refuse direct access to all files 
Order deny,allow 
Deny from all 
Allow from 127.0.0.1 

<Directory /uploads/images/pages> 
    Order Deny,Allow 
    Allow from all 
</Directory> 

.htaccessファイルは、ルートの下のフォルダファイルに格納されます。だから、完全なパスは次のとおりです。フォルダ「ファイル」のための/var/www/vhosts/domain.tld/httpdocs/files/

内容:

backups 
    backup1.zip 
    backup2.zip 
    ... 
mails 
    mail1.html 
    mail2.html 
    ... 
templates 
    temlpate.html 
    ... 
uploads 
    files 
     manual.pdf 
     ... 
    images 
     pages 
      picture1.png 
      picture2.jpg 
      ... 
     store 
      picture1.png 
      picture2.jpg 
      ... 
.htaccess <--- previous code block with htaccess code is for that file 

私は実際に何をしようとしています、以下を除いて、直接アクセスからすべてのフォルダを保護するためのものです:/

  • アップロード/ファイル/
  • アップロード/画像/ページ
  • アップロード/画像/店舗/

私は500エラーページを取得しています上記のように、これらのフォルダ内のすべてのファイルはhtaccessファイルを使用して上で直接

にアクセスすることができます。例の最初の4行だけを使用する場合(例外なし)、コードは正常に動作します。

ご協力いただきましてありがとうございます。

ありがとうございます!

答えて

11

<Directory>コンテナをhtaccessファイル(本質的にすべてがディレクトリ内のディレクトリコンテナ内にあります)で使用できないため、500エラーが発生しています。何をする必要があなたのhtaccessファイルから<Directory>コンテナを削除し、Deny from allビットを残している:あなたのドキュメントルートに

のhtaccessファイル:

# Refuse direct access to all files 
Order deny,allow 
Deny from all 
Allow from 127.0.0.1 

が続いuploads/files/でのhtaccessファイルを作成し、uploads/images/pages/uploads/images/store/(および他のものは何でもへのアクセスを許可するディレクトリ):

Allow from all 
+0

私はhttpt.confにアクセスすることができないと仮定すると、このメソッドは、サーバー上のdirsへのアクセスをブロックするのは良い方法ですか?そうでない場合は、これよりも何が良いですか? – CoR

+2

@CoRサーバ設定にアクセスできない場合は、htaccessファイル( ''コンテナなし)に配置することが、アクセス制限の標準的な方法です –