首頁 > 後端開發 > php教程 > nginx配置中rewrite的问题

nginx配置中rewrite的问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-06 20:28:48
原創
1455 人瀏覽過

我想实现用户请求 x.com/api/dosomething 转发到网站根目录下的/api.php处理.
不存在的文件交给 /index.php处理,nginx配置如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<code> if (!-e $request_filename) {

         rewrite (.*) /index.php$1 last;

     }

 

location ^~ /api/{

    rewrite (.*) /api.php$1 last;

}

 

location ~ (index|api|admin).php {

         fastcgi_split_path_info ^(.+\.php)(/.+)$;

         fastcgi_pass 127.0.0.1:9000;

         fastcgi_index index.php;

         include fastcgi_params;

         fastcgi_param PATH_INFO $fastcgi_path_info;

         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

     }</code>

登入後複製
登入後複製

但是我发现访问x.com/api/dosomething的时候匹配了 ! -e $request_filename,调准顺序也没有用,请问应该如何配置

回复内容:

我想实现用户请求 x.com/api/dosomething 转发到网站根目录下的/api.php处理.
不存在的文件交给 /index.php处理,nginx配置如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<code> if (!-e $request_filename) {

         rewrite (.*) /index.php$1 last;

     }

 

location ^~ /api/{

    rewrite (.*) /api.php$1 last;

}

 

location ~ (index|api|admin).php {

         fastcgi_split_path_info ^(.+\.php)(/.+)$;

         fastcgi_pass 127.0.0.1:9000;

         fastcgi_index index.php;

         include fastcgi_params;

         fastcgi_param PATH_INFO $fastcgi_path_info;

         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

     }</code>

登入後複製
登入後複製

但是我发现访问x.com/api/dosomething的时候匹配了 ! -e $request_filename,调准顺序也没有用,请问应该如何配置

咋一看配置没错啊,我本地试试再说。。。

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
重啟nginx出錯
來自於 1970-01-01 08:00:00
0
0
0
server - Nginx設定webapp問題
來自於 1970-01-01 08:00:00
0
0
0
centos7 - NGINX出現異常
來自於 1970-01-01 08:00:00
0
0
0
Nginx的default.conf問題
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板