您好,欢迎访问一九零五行业门户网

Nginx目录别名Alias支持PHP的配置

需求:通过 example.com 访问 /var/data/www,但通过 example.com/pa 访问的却是 /var/data/phpmyadmin,即保护phpmyadmin不暴露在www目录下。一、方法一:(不推荐)简介:这是网上普遍采用的 rewrite 方式。
缺陷:简单的php程序还能应付,复杂一点的程序就no input file specified
01.server {
02.listen 80;
03.server_name example.com;
04. 
05.root /var/data/www;
06.index index.html index.php;
07. 
08.location /pa {
09.alias /var/data/phpmyadmin;
10.index index.html index.php;
11.}
12. 
13.location ~ /pa/.+\.php$ {
14.rewrite /pa/(.+\.php) /$1 break;
15.fastcgi_pass  127.0.0.1:9000;
16.fastcgi_index  index.php;
17.fastcgi_param  script_filename  /var/data/phpmyadmin/$fastcgi_script_name;
18.include  fastcgi_params;
19.}
20. 
21.location ~ .+\.php.*$ {
22.fastcgi_pass  127.0.0.1:9000;
23.fastcgi_index  index.php;
24.fastcgi_param  script_filename  $document_root/$fastcgi_script_name;
25.fastcgi_param  script_filename  $request_filename;
26.include  fastcgi_params;
27.}
28.}
二、方法二:(推荐)简介:完美实现,无副作用。
特点:使用了一个叫$valid_fastcgi_script_name的变量
查看代码打印代码帮助
01.server {
02.listen 80;
03.server_name example.com;
04. 
05.root /var/data/www;
06.index index.html index.php;
07. 
08.location /pa {
09.alias /var/data/phpmyadmin;
10.index index.html index.php;
11.}
12. 
13.location ~ /pa/.+\.php.*$ {
14.if ($fastcgi_script_name ~ /pa/(.+\.php.*)$) {
15.set $valid_fastcgi_script_name $1;
16.}
17.fastcgi_pass  127.0.0.1:9000;
18.fastcgi_index  index.php;
19.fastcgi_param  script_filename  /var/data/phpmyadmin/$valid_fastcgi_script_name;
20.include  fastcgi_params;
21.}
22. 
23.location ~ .+\.php.*$ {
24.fastcgi_pass  127.0.0.1:9000;
25.fastcgi_index  index.php;
26.fastcgi_param  script_filename  $document_root/$fastcgi_script_name;
27.fastcgi_param  script_filename  $request_filename;
28.include  fastcgi_params;
29.}
30.}
二、方法三:简介:在 zhigang.net 上看到的创意方法,即一个站加两个server字段,然后通过反代的方式实现。
特定:方法有创意,稍微麻烦点。 以上就介绍了nginx目录别名alias支持php的配置,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。
其它类似信息

推荐信息