>  기사  >  백엔드 개발  >  Nginx 디렉터리 별칭 Alias는 PHP 구성을 지원합니다.

Nginx 디렉터리 별칭 Alias는 PHP 구성을 지원합니다.

WBOY
WBOY원래의
2016-08-08 09:22:171705검색
요구 사항: example.com을 통해 /var/data/www에 액세스하지만 /var/data/phpmyadmin은 example.com/pa를 통해 액세스합니다. 이는 phpmyadmin이 www 디렉터리에 노출되지 않도록 보호합니다. 1. 방법 1: (권장하지 않음) 소개: 인터넷에서 흔히 사용하는 Rewrite 방법입니다.
결함: 간단한 PHP 프로그램으로 처리할 수 있지만 더 복잡한 프로그램에서는 "입력 파일이 지정되지 않음"을 처리할 수 있습니다.

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) / 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.}

2. 방법 2: (권장) 소개: 완벽한 구현, 부작용 없음.
특징: "$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 ;

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.}

2. 방법 3: 소개: zhigang.net에서 보았습니다. 방법은 하나의 사이트에 두 개의 서버 필드를 추가한 후 역생성을 통해 구현하는 것입니다.
구체적: 방법이 창의적이고 약간 번거롭습니다.

위 내용은 관련 내용을 포함하여 PHP를 지원하기 위한 Nginx 디렉터리 별칭 Alias의 구성을 소개한 내용이 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.