Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx、别名和后端api重写不起作用_Api_Mod Rewrite_Nginx_Alias - Fatal编程技术网

Nginx、别名和后端api重写不起作用

Nginx、别名和后端api重写不起作用,api,mod-rewrite,nginx,alias,Api,Mod Rewrite,Nginx,Alias,我正在尝试在nginx中为后端创建一个别名,并添加一个重写。这样做的想法是: www.mysite.com/api -> /var/www/mysite/backend 及 但是我已经尝试了所有我发现的方法,但没有成功,我可以让/api指向正确的文件夹,但是重写不起作用,我得到一个错误,说我不能使用别名和重写,因为两者似乎都包含/api 以下是我正在做的: location /api { alias /var/www/mysite/backend; autoindex o

我正在尝试在nginx中为后端创建一个别名,并添加一个重写。这样做的想法是:

www.mysite.com/api -> /var/www/mysite/backend

但是我已经尝试了所有我发现的方法,但没有成功,我可以让/api指向正确的文件夹,但是重写不起作用,我得到一个错误,说我不能使用别名和重写,因为两者似乎都包含/api

以下是我正在做的:

location /api {
    alias /var/www/mysite/backend;
    autoindex on;
    rewrite ^/api/(.*)$ /index.php?r=$1;
    # this have the php config
    include php.fast.conf;
}

有什么想法吗?谢谢

/var/www/mysite/backend
中是否有任何静态内容,或者是否只有
/var/www/mysite/backend/index.php
?如果您希望您的重写保持在
位置/api
上下文中,则需要附加
中断
标志。看看hey@RichardSmith,这里只有php,实际上,到目前为止只有2个php文件,甚至没有大文件夹。我试过破旗,但运气不好…:-\如果没有
中断
标志,它将无法工作。如果它不使用
break
标志,则这是另一个错误,可能与
php.fast.conf
文件处理
别名的方式有关。
location /api {
    alias /var/www/mysite/backend;
    autoindex on;
    rewrite ^/api/(.*)$ /index.php?r=$1;
    # this have the php config
    include php.fast.conf;
}