Yii 2.0 GII 访问404错误

网上大部分都是普通的开启和配置资料 
按照网上资料配置 访问localhost/index/php?r=gii 总是提示404错误

解决方法如下: 
Yii基础版中的 web.php 代码如下

if (YII_ENV_DEV) {
    // configuration adjustments for ‘dev‘ environment
    $config[‘bootstrap‘][] = ‘debug‘;
    $config[‘modules‘][‘debug‘] = [
        ‘class‘ => ‘yii\debug\Module‘,
        // uncomment the following to add your IP if you are not connecting from localhost.
        //‘allowedIPs‘ => [‘127.0.0.1‘, ‘::1‘],
    ];

    $config[‘bootstrap‘][] = ‘gii‘;
    $config[‘modules‘][‘gii‘] = [
        ‘class‘ => ‘yii\gii\Module‘,
        // uncomment the following to add your IP if you are not connecting from localhost.
        ‘allowedIPs‘ => [‘127.0.0.1‘, ‘::1‘],
    ];
}

注意这里的变量是YII_ENV_DEV 而在入口文件index.php中配置的是

defined(‘YII_DEBUG‘) or define(‘YII_DEBUG‘, true);
defined(‘YII_ENV‘) or define(‘YII_ENV‘,‘dev‘);
//需要根绝web.php中的变量YII_ENV_DEV增加对应的开启设置
defined(‘YII_ENV_DEV ‘) or define(‘YII_ENV_DEV ‘, true);

require(__DIR__ . ‘/../vendor/autoload.php‘);
require(__DIR__ . ‘/../vendor/yiisoft/yii2/Yii.php‘);

$config = require(__DIR__ . ‘/../config/web.php‘);

(new yii\web\Application($config))->run();

2.路由配置 
enablePrettyUrl 设置为false

//路由配置
        ‘urlManager‘ => [
           ‘enablePrettyUrl‘ => false,//路由的路径化 去掉 ?r=
           ‘showScriptName‘ => false,//隐藏入口Index.php文件
            //‘suffix‘ => ‘.html‘,//假后缀(fake suffix) .html
            ‘rules‘ => [
                ‘<controller:\w+>/<name:\w+>/<action:\w+>‘=>‘<controller>/<action>‘,
                ‘company/<id:\d+>.html‘=>‘company/list‘,
            ],
        ],

3.GII是基于本地访问使用的 所有使用localhost或127.0.0.1来访问。

原文地址:https://www.cnblogs.com/liangzia/p/10882783.html

时间: 2024-08-05 07:28:23

Yii 2.0 GII 访问404错误的相关文章

运用servlet3.0注解报404错误

我的环境是eclipse (查了一下2013EEIDE)+tomcat7.0+Servlet3.0 项目名称:day08BookManageCase servlet类是new servlet出来的如下代码,大部分代码省略,只留了注解部分. /** * Servlet implementation class FindAllServlet */ @WebServlet("/FindAllServlet") public class FindAllServlet extends HttpS

Eclipse配置Tomcat,访问404错误

我从官网上面下载的tomcat6,直接启动发现正常使用,但是在Eclipse绑定后启动,访问localhost:8080,本来应该是tomcat的主页,但是却报了404错误. 百度搜索了一下,原来是tomcat编译位置的原因! 在Server面板中双击Tomcat就可以进入配置界面: 注意,如果你的Server Locations是灰色的,那么请先remove掉tomcat中部署的所有工程,然后clean一下. 看一下三个选项: 1 use workspace metadata 2 use to

有关百度一键分享链接到微信朋友圈无法打开网页,报404错误的解决办法,from=timeline&amp;isappinstalled=0,和伪静态规则有关

最近有好友反映用百度一键分享,分享网页链接到微信朋友圈的时候,发现链接无法打开,提示无法找到该页404错误,同样分享到QQ.微博等链接 能正常访问,这么明显的错误,百度和腾讯应该不会忽略吧. 接报后,我专门分析了一遍他公司的网站,确实是微信朋友圈无法分享网站链接.但是通过微信扫一扫能正常浏览网页,点击分享到朋友圈后,在  从朋友圈去访问的时候,提示无法找到该页,报404错误. 经反复检测,排除了分享代码的问题,和服务器配置问题.我开始怀疑伪静态规则,开启URL重写造成的,我关掉了伪静态,让网页形

Springmvc 访问页面出现404错误

配置springmvc时出错: 我在web.xml中添加 <!-- springMvc配置 --> <servlet> <servlet-name>springMvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- springMvc-XML配置文件 --> <in

eclipse中配置的tomcat 启动正常 但是访问报404错误

问题描述: 在eclipse中配置的Tomcat,启动是正常的,控制台显示启动成功,也没有报任何错误信息,但是访问的时候就报404错误,然后直接在bin目录下启动startup.bat的方式就是正常的.然后就很纳闷,之后在网上搜了下资料,说是Eclipse的配置出了问题. 解决方案: 1.如果Server里的tomcat启动了,需要先停掉.然后再移除添加的项目 2.之后双击server中配置的tomcat服务器,会弹出如下界面. 3.在Server Locations配置中选择第二个选项,use

eclipse配置tomcat,访问http://localhost:8080出现404错误

问题:通过eclipse来启动tomcat会碰到"访问http://localhost:8080出现404错误"这样的问题,需要在eclipse中进行一系列的设置才行. 解决:打开eclipse的server视图,双击你配置的那个tomcat,打开编辑窗口,查看server locations,看看是否选择了第一个选项(默认是第一个选项),即use workspace metadata(does not modify tomcat instation), 你应该选择第二个选项,use

tomcat下部署两个工程时,只有一个可以访问,另一个出现404错误,该如何解决

在开发新项目的时候,有时候为了省时,直接把曾经做过的项目工程A拷贝成改名为B工程,然后再在B工程上进行功能的开发, 此时若把A,B工程同时部署到tomcat下,会发生只能访问A,B工程中的其中一个,而另一个会出现404错误,此时可参照如下方法解决: 步骤1:找到工程下的web.xml文件 步骤2:修改webAppRootKey的属性,使得两工程的不一致便可 A工程的webAppRootKey属性如下: <context-param> <param-name>webAppRootKe

为什么我上传了flv或MP4文件到服务器,可输入正确地址通过http协议来访问总是出现“无法找到该页”的404错误呢

常用MIME类型(Flv,Mp4的mime类型设置) 也许你会在纳闷,为什么我上传了flv或MP4文件到服务器,可输入正确地址通过http协议来访问总是出现“无法找到该页”的404错误呢?这就表明mp4格式文件是服务器无法识别的,其实,这是没有在iis中将相应的MIME类型进行设置的原因.那该怎样设置MIME类型呢? 开启mp4文件的话,需要在 “Internet信息(IIS)管理器”中右击需要更改的网站或目录,可以打开形如下图的窗口(我右击的是文件夹而不是站点,所以您右击站点的话打开的 或许比

404错误 本地代理127.0.0.1

设置本地代理127.0.0.1:8080不能用了,出现404错误 原因:端口被占用了 win + R调出cmd,输入命令:netstat -ano,列出所有端口的情况. 输入命令:netstat -aon|findstr "8080",找到PID(最后一列),如 **** 继续输入tasklist|findstr "****"(****为PID),就能找到是什么软件占用的端口了 假如是Tencentdl.exe 输入:taskkill /f /t /im Tence