zoukankan      html  css  js  c++  java
  • NGINX、Yii2,怎样从域名跳转到登录页

    在NGINX中配置:


    location / { 
        if (!-e $request_filename){
            rewrite ^/(.*) /index.php last;
    }

    这样,当NGINX找不到文件的时候,就会将URL重写为index.php。对于URL中只有域名的情况,因为不存在对应的文件,所以会匹配到。

    再配置:

    location ~ .php$ {
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
    }

    这样,以.php结尾的URL会被提交到php-fpm的入口,即,index.php文件。这个提交是以参数形式提交的,这里不多说,参见:https://www.cnblogs.com/liuwei-a/p/10197876.html。

    至此,就进入了Yii的控制范围。

    在Yii的配置文件(web.php)中配置默认路由:

    'defaultRoute' => 'xxx/xxxx/xxxxx'

    这样,就进入了Yii的代码范围,module xxx,controller xxxx,action xxxxx。

    在代码中检查是否登录过,例如,通过 session 检查,如果没有登录过,则跳转到登录页面。

    也有其它配置方式,参见:https://blog.csdn.net/eddy23513/article/details/79311179

    至此,逻辑完成。

  • 相关阅读:
    物理机异常断电,linux虚拟机系统磁盘mount失败,导致无法启动; kubectl 连接失败
    [Docker] 制作并运行 Nginx 镜像
    [Docker] 在CentOS6.8 安装 Docker
    47.DOM例题
    46.脚本化css2
    44 脚本化操作css
    43.操作标签属性
    42回顾
    41:例题、知识点复习
    40.数组字符串例题
  • 原文地址:https://www.cnblogs.com/liuwei-a/p/10348088.html
Copyright © 2011-2022 走看看