繁体   English   中英

Slim Framework-404页未显示

[英]Slim Framework - 404 Page Not

我遇到了Slim框架并一直在使用它。 我遇到了404问题。 使用以下代码:我知道这与url有关,但是我不确定如何解决此问题。 我是否必须在某个地方定义“个人资料”的网址?

我的目录也像这样:

包括

  • dbhandler.php

  • config.php文件

  • dbConnect.php

LIB

V1

  • 的.htaccess
  • 的index.php

这段代码中的问题:mysite.com//parentfolder/v1/profiles抛出404错误

$app->post('/profiles', 'authenticate', function() use ($app) {
            // check for required params
            verifyRequiredParams(array('gender'));

            $response = array();
            $gender = $app->request->post('gender');

            global $user_id;
            $db = new DbHandler();

            // creating new task
            $profile_id = $db->createUserProfile($user_id, $gender);

            if ($profile_id != NULL) {
                $response["error"] = false;
                $response["message"] = "Profile created successfully";
                $response["profile_id"] = $profile_id;
                echoRespnse(201, $response);
            } else {
                $response["error"] = true;
                $response["message"] = "Failed to create profile. Please try again";
                echoRespnse(200, $response);
            }            
});

的.htaccess

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ^(.*)$ %{ENV:BASE}index.php [QSA,L]

我也有这个功能,很好用。

$app->post('/register', function() use ($app) {
            // check for required params
            verifyRequiredParams(array('name', 'email', 'password'));

            $response = array();

            // reading post params
            $name = $app->request->post('name');
            $email = $app->request->post('email');
            $password = $app->request->post('password');

            // validating email address
            validateEmail($email);

            $db = new DbHandler();
            $res = $db->createUser($name, $email, $password);

            if ($res == USER_CREATED_SUCCESSFULLY) {
                $response["error"] = false;
                $response["message"] = "You are successfully registered";
            } else if ($res == USER_CREATE_FAILED) {
                $response["error"] = true;
                $response["message"] = "Oops! An error occurred while registereing";
            } else if ($res == USER_ALREADY_EXISTED) {
                $response["error"] = true;
                $response["message"] = "Sorry, this email already existed";
            }
            // echo json response
            echoRespnse(201, $response);
        });

假设/parentfolder/v1/是代码所在的物理文件夹。 将以下内容添加到您的.htaccess

RewriteBase /parentfolder/v1/

我不确定ENV:BASE来源。 除非您确定必须使用它,否则请按照Slim文档中的说明使用重写规则。

RewriteEngine On
RewriteBase /parentfolder/v1/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM