2013-07-25 32 views
8

webproject tôi được lưu trữ vào /var/www/vhosts/domain.tld/httpdocs/chối truy cập vào tất cả các thư mục, ngoại trừ một số ít những người sử dụng htaccess

HTACCES-file mà tôi sẽ liệt kê dưới đây chứa những điều sau đây:

# 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> 

tệp .htaccess được lưu trữ trong các tệp thư mục trong thư mục gốc. Vì vậy, đường dẫn đầy đủ là: /var/www/vhosts/domain.tld/httpdocs/files/

Nội dung cho thư mục "file":

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 

Những gì tôi đang thực sự cố gắng để làm, là để bảo vệ mọi thư mục từ truy cập trực tiếp, ngoại trừ như sau:

  • uploads/files/
  • uploads/images/trang/
  • uploads/images/cửa hàng/

Mỗi tập tin trong các thư mục này có thể được truy cập trực tiếp

Về việc sử dụng htaccess như mô tả ở trên tôi nhận được trang lỗi 500. Khi chỉ sử dụng 4 hàng đầu tiên từ ví dụ (không có ngoại lệ), mã hoạt động tốt.

Mọi trợ giúp đều được đánh giá cao!

Cảm ơn trước!

Trả lời

11

Bạn đang gặp lỗi 500 vì không thể sử dụng vùng chứa <Directory> trong tệp htaccess (mà chủ yếu là tất cả bên trong một thư mục chứa thư mục chứa nó). Những gì bạn cần làm là loại bỏ các <Directory> container từ tập tin htaccess của bạn, và rời khỏi Deny from all bit:

tập tin .htaccess trong thư mục gốc tài liệu của bạn:

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

Sau đó tạo một file .htaccess trong uploads/files/, uploads/images/pages/uploads/images/store/ (và bất kỳ thư mục nào khác mà bạn muốn cho phép truy cập):

Allow from all 
+0

Giả sử rằng tôi không thể truy cập httpt.conf là phương pháp tốt để chặn truy cập vào thư mục trên máy chủ? Nếu không, cái gì tốt hơn cái này? – CoR

+2

@CoR Nếu bạn không có quyền truy cập vào cấu hình máy chủ, việc đặt trong tệp htaccess (không có '' vùng chứa) là cách hạn chế quyền truy cập chuẩn –

Các vấn đề liên quan