Nginx重写规则不适用于POST请求

时间:2018-07-31 14:41:53

标签: nginx mod-rewrite nginx-location nginx-reverse-proxy

我有一个具有以下配置的nginx服务器设置:

location /company {
  rewrite ^/company$ /company/ redirect;
  rewrite ^/company/login$ /company/login/ redirect;
  rewrite ^/company/(.*) /admin/$1 break;
}

我想要的是将诸如http://localhost/company/login之类的URL重定向到admin/company/login/。这对于GET请求很好用。我可以看到该页面。

但是,当我向网址http://localhost/company/login/login.ajax.php发出AJAX POST请求时,却给了我404 Error

我的文件夹结构是按以下方式设计的:

project
|
|_ admin
    |_company
        |_login
        |   |_login.ajax.php
        |_index.php
        |_functions.js

我的nginx日志显示以下错误:

2018/07/31 14:26:22 [error] 16966#0: *8 FastCGI sent in stderr: "Primary script unknown" while reading response header 
from upstream, client: 192.168.33.1, server: 192.168.33.10, request: "POST /company/login/login.ajax.php HTTP/1.1",
upstream: "fastcgi://unix:/var/run/php/php7.1-fpm.sock:", host: "192.168.33.10",
referrer: "http://192.168.33.10/company/login/"

谁能建议我应该如何配置我的Nginx重写规则,以便我完成此工作?

0 个答案:

没有答案