人民总动员 发布于 2017-05-16 00:37

在使用Yii时候出现如下情况,
在模板页面使用退出后台
解析后网页生成的代码的URL地址是 localhost/yii2/backend/index.php?r=site/logout,地址是对的,访问的时候出现如下:
Method Not Allowed (#405) Method Not Allowed. This url can only handle the following request methods: POST. The above error occurred while the Web server was processing your request. Please contact us if you think this is a server error. Thank you.

请问为啥会出现405?哪里配置错了?配置文件里面没有配置路由
通过firebug发现前台的是可以的,而且是POST提交。而通过url生成的访问就不对了?求助

1 个回答
  • 肯定是配置site/logout这个action的verbs了,提示很明显,这个action只接受通过POST发送的请求!
    所以你检查下siteController 下的behaviors 是不是配置了

    'verb' => [
        'class' => VerbFilter::className(),
        'actions' => [
            'logout' => ['post'],
        ],
    ],
    

    如果允许GET访问的话,那么可以改成:

    'verb' => [
        'class' => VerbFilter::className(),
        'actions' => [
            'logout' => ['get'], //当然可以是是 ['get', 'post'],同时支持POST和GET两种方式访问
        ],
    ],
    
    2017-05-16 16:17 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
活跃用户
  • 1
    问道摩托
  • 2
    袁广龙976丶
  • 3
    逍遥子
  • 4
    亮仔
  • 5
    芙蓉花
  • 6
    作小die_syj
  • 7
    王丽珠景平怡伦_621
  • 8
    adfa3sd5f6a
  • 9
    欣欣大妮
  • 10
    sfasfs
PHP1.CN | 中国最专业的PHP中文社区 | json解析格式化 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有