- 环境:nginx
- 版本:yii2.0
- 前后台共用一个域名
- 前台访问地址 my.yii.com
- 后台访问地址 my.yii.com/admin
- 开启urmanager 后台(admin) debug工具消失,gii生成model时报如下错误:“Bad Request (#400): Missing required parameters: id, file”。
- urlManager 配置如下:
'urlManager' => [
'enablePrettyUrl' => true, //美化url==ture
'enableStrictParsing' => false, //不启用严格解析
'showScriptName' => false, //隐藏index.php
'rules' => [
],
],
server {
charset utf-8;
client_max_body_size 128M;
listen 80; ## listen for ipv4
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
server_name my.yii.com;
root /var/www/html/advanced/;
index index.php;
access_log /var/www/html/advanced/log/access.log;
error_log /var/www/html/advanced/log/error.log;
location / {
root /var/www/html/advanced/frontend/web;
try_files $uri /frontend/web/index.php$is_args$args;
location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
access_log off;
expires 360d;
try_files $uri =404;
}
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
try_files $uri =404;
}
location = /requirements.php {
deny all;
}
location ~* /\. {
deny all;
}
}
你这后台是单独作为应用frontend的一个模块吗? “debug工具消失”,控制台打开,刷新页面,看是否有异常的请求。 另外,如果是advanced版,更推荐frontend作为一个应用,后台单独用backend作为一个应用。
nginx的rewrite规则参考
还是不行啊,前后台正常,访问api nginx报404。
确定是路由解析无效吗? 很多新手刚开始配置很容易404,有配置出错的,访问出错的,有时间建议多看几遍这篇文章,认真跟着配置下来一定是没问题的。
前后台正常,访问api,不开启urlManager的话也能正常访问,开启后直接404,是nginx 404,不是yii
你给的这篇文章看过了, 现在都到不了使用restful风格接口的那步,这篇文章介绍的确实是我最终要做的事。前提是如何能让我正常访问api,然后我开始学习写接口。
正常访问的前提是api应用要先配置起来,404就是配置有问题,这个问题有可能有很多种,所以需要你跟着我上面给的文章链接,耐心细心的多操作几遍。