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:
Expected result:
- controller/action: users/index
- $request->getUrlPath(): "users"
Actual result:
- controller/action: index/index
- $request->getUrlPath(): "apify/api/users"
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.
Request:
Expected result:
Actual result: