Sự khác biệt giữa các lệnh <Location> và <Directory> Apache


29

Tôi đã cài đặt Máy chủ Zend và nhận thấy một cái gì đó như sau đã được thêm vào tệp httpd.conf của tôi:

<Location /ZendServer>
 Order Allow,Deny
 Allow from 127.0.0.1
</Location>

Alias /ZendServer "C:\Program Files\Zend\ZendServer\GUI\html"

<Directory "C:\Program Files\Zend\ZendServer\GUI\html">
 AllowOverride All
</Directory>

Nhưng tôi dường như không thể hiểu được sự khác biệt giữa Vị tríThư mục . Tôi đã thay đổi thành một cái gì đó như sau, điều này có ý nghĩa hơn với tôi và nó vẫn hoạt động:

<Location /ZendServer>
 AllowOverride All
 Order Allow,Deny
 Allow from 127.0.0.1
</Location>

Alias /ZendServer "C:\Program Files\Zend\ZendServer\GUI\html"

Tôi có thể giữ những thay đổi của mình hay tôi nên đặt nó trở lại như cũ?

Câu trả lời:


41

DirectoryChỉ thị chỉ hoạt động cho các đối tượng hệ thống tệp (ví dụ / var / www / mypage, C: \ www \ mypage), trong khi Locationchỉ thị chỉ hoạt động cho các URL (phần sau tên miền trang web của bạn, ví dụ: www.mypage.com/mylocation).

Việc sử dụng rất đơn giản - bạn sẽ sử dụng Locationnếu bạn cần tinh chỉnh quyền truy cập bằng một URL và bạn sẽ sử dụng Directorynếu bạn cần kiểm soát quyền truy cập vào một thư mục (và thư mục con của nó) trong hệ thống tệp.


Tôi vẫn còn bối rối ... Tại sao Zend lại sử dụng cả hai? Tôi có thể giữ những thay đổi của mình hoặc có gì đó không ổn với điều đó?
Ricardo Amaral

1
Không, cấu hình của bạn không giống với cấu hình ban đầu - bạn đã xóa AllowOverride khỏi chỉ thị thư mục và điều đó có nghĩa là bạn sẽ không thể sử dụng tệp .htaccess trong thư mục C: \ Program Files \ ZendServer \ GUI \ html. Thiết lập tùy chọn thư mục khác với thiết lập tùy chọn URL, đó là lý do tại sao họ sử dụng cả hai.
ipozgaj

1
Viết dài trong các tài liệu apache về Thư mục so với Vị trí (và những người khác): httpd.apache.org/docs/2.2/sections.html
Dan Pritts

2

Vị trí có thể được sử dụng khi sử dụng chuyển hướng AJP hoặc proxy. Ví dụ: mô-đun PLEX APEX của Oracle sử dụng URL sau: / pls / apex / f? P = 1: 1

Nếu bạn cố gắng hạn chế thư mục này bằng cách sử dụng thư mục, nó sẽ không bao giờ hoạt động vì nó là một mật khẩu và không phải là một thư mục vật lý trên máy chủ. Địa điểm làm việc!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.