Php 如何使nginx重写规则起作用?
我想添加一些像这样的重写规则Php 如何使nginx重写规则起作用?,php,mod-rewrite,nginx,url-rewriting,Php,Mod Rewrite,Nginx,Url Rewriting,我想添加一些像这样的重写规则 location / { autoindex on; root /Users/guest/Projects/demo/public; index index.php index.html index.htm; location ~* ^/signin { rewrite ^/signin(.*)$ /account/page/signin$1 break; } if (!-e $r
location / {
autoindex on;
root /Users/guest/Projects/demo/public;
index index.php index.html index.htm;
location ~* ^/signin {
rewrite ^/signin(.*)$ /account/page/signin$1 break;
}
if (!-e $request_filename) {
rewrite ^/(.*) /index.php?$1 last;
}
}
我希望它能像这些步骤一样工作,只要我键入像“”这样的url
步骤1:将此url重写为“”
步骤2:使用规则“rewrite^/(.*)/index.php?$1 last;”重写它
但现在,第一步开始起作用了,但规则似乎到此为止
我尝试了一些不同的方法,比如
if (!-e $request_filename) {
rewrite ^/signin(.*)$ /account/page/signin$1;
rewrite ^/(.*) /index.php?$1 last;
}
或
有时我可以从日志中获取此错误:
open() "/Users/guest/Projects/demo/public/account/page/signin" failed (2: No such file or directory)
我怎样才能让它按我的要求工作?将它更改为您的要求
location/signin/{index.php index.html;重写^/signin/([^/]+)(/?)$/signin?login=$1 last;}
@Rajlaksh谢谢。但它仍然不起作用。
open() "/Users/guest/Projects/demo/public/account/page/signin" failed (2: No such file or directory)