我在我的 nginx 服务器(nginx 1.2.1)上获得了以下域配置:
server {
listen 80 default_server;
server_name example.com;
root /var/www/example.com;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location ~ /content/(.*)\.(txt|md) {
return 301 /error;
}
location ~ /tpl/(.*) {
return 301 /error;
}
location ~ /sys/(.*) {
return 301 /error;
}
location / {
index index.php
try_files $uri $uri/ /index.php;
}
}
如您所见,我想禁止访问我目录中的所有.txt
/.md
文件content
以及对我/tpl
和/sys
目录的每次访问。但是,nginx 似乎忽略了这些规则中的每一个。
所以我尝试了一些不同的东西,即:
location ^~ /templates {
return 404;
}
由于这是有效的,我想有一个优先级问题。有人知道如何应用所有 3 条规则吗?
谢谢!
- 最大限度