Nginx
Nginx 完整的文件夾保護不起作用
我已經用 PHP-FPM(5.4.20) 安裝了 nginx(1.4.3)。我想保護我的 wordpress
wp-admin
文件夾。我的 nginx 配置文件
domain.conf
:server { listen 80; server_name example.com; root /var/www; location / { index index.php; try_files $uri $uri/ /index.php?$args; } location /wp-admin { index index.php; allow 192.168.1.2; deny all; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; include fastcgi_params; } }
**問題:**當我
wp-admin
在不同的 ip 中載入文件夾時,我得到了 403(很好),但我能夠載入現場 PHP 文件。像/wp-admin/about.php
當您訪問
/wp-admin/about.php
時,PHP 位置塊會處理請求。不是/wp-admin
塊。要實現您想要的,您需要一個 PHP 位置塊和塊
try_files
內的指令/wp-admin
。這是您的案例的通用解決方案!server { location / { } location /wp-admin { # try_files ...; # allow ip.ip.ip.ip; # deny all; location ~* \.php$ { # directives to process PHP inside wp-admin } } location ~* \.php$ { # directives to process PHP outside wp-admin } }