簡體   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