PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

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

原创
2016-08-08 09:22:17 1444浏览
需求:通过 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教程有兴趣的朋友有所帮助。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。