Skip to content

Request::getUrlPath returns wrong value #13

@elvetemedve

Description

@elvetemedve

If you use Request::setUrlKeyword or Request::setUrlSegment without Request::enableRestfulMapping, than Request::getUrlPath will return the full URI strarting from webroot instead of the expected suffix.

<?php
define('ROOT_DIR', realpath(dirname(__FILE__) . '/../'));
define('APP_DIR', ROOT_DIR . '/app');

require_once ROOT_DIR . '/config/config.php';

try {
    $request = new Request();
    $request->setUrlKeyword('api');  // we want the part after the "api" segment 
    $request->enableUrlRewriting();
    $request->addRoutes(include ROOT_DIR.'/config/routes.php');
    $request->dispatch();
} catch (Exception $e) {
    $request->handleException($e);
}

Request:

GET /apify/api/users

Expected result:

  • controller/action: users/index
  • $request->getUrlPath(): "users"

Actual result:

  • controller/action: index/index
  • $request->getUrlPath(): "apify/api/users"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions