nginx 别名目录 php,Nginx目录别名(Alias)支持PHP的配置

需求:通过 example.com 访问 /var/data/www,但通过 example.com/pa 访问的却是 /var/data/phpmyadmin,即保护phpmyadmin不暴露在www目录下。

一、方法一:(不推荐)

简介:这是网上普遍采用的 Rewrite 方式。

缺陷:简单的php程序还能应付,复杂一点的程序就"No input file specified"

server {

listen80;

server_name example.com;

root/var/data/www;

index index.html index.php;

location/pa {

alias/var/data/phpmyadmin;

index index.html index.php;

}

location~ /pa/.+\.php$ {

rewrite/pa/(.+\.php) /$1 break;

fastcgi_pass127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME/var/data/phpmyadmin/$fastcgi_script_name;

include fastcgi_params;

}

location~ .+\.php.*$ {

fastcgi_pass127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

fastcgi_param SCRIPT_FILENAME $request_filename;

include fastcgi_params;

}

}

二、方法二:(推荐)

简介:完美实现,无副作用。

特点:使用了一个叫"$valid_fastcgi_script_name"的变量

server {

listen80;

server_name example.com;

root/var/data/www;

index index.html index.php;

location/pa {

alias/var/data/phpmyadmin;

index index.html index.php;

}

location~ /pa/.+\.php.*$ {if ($fastcgi_script_name ~ /pa/(.+\.php.*)$) {set $valid_fastcgi_script_name $1;

}

fastcgi_pass127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME/var/data/phpmyadmin/$valid_fastcgi_script_name;

include fastcgi_params;

}

location~ .+\.php.*$ {

fastcgi_pass127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

fastcgi_param SCRIPT_FILENAME $request_filename;

include fastcgi_params;

}

}

二、方法三:

简介:在 zhigang.net 上看到的创意方法,即一个站加两个server字段,然后通过反代的方式实现。

特定:方法有创意,稍微麻烦点。

原文:http://www.cnblogs.com/zenghansen/p/3994563.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值