Coming from laravel background. Currently developing web service using yii framework but routing is not working as expected.
This is the expected route to call web service. "api" is ApiController, "totalviews" is actionTotalviews.
localhost/myproject/admin/api/totalviews
This is my web.php file in config directory.
`'id' => 'basic',
'basePath' => dirname(__DIR__),
'homeUrl' => 'http://localhost/myproject/admin/',
'bootstrap' => ['log'],
'defaultRoute' => 'login/index',
'components' => [
'twiliosms' => [
'class' => 'app\components\TwilioSms',
],
'request' => [
'cookieValidationKey' => 'abc123',
'parsers' => [
'application/json' => 'yii\web\JsonParser',
]
],
'urlManager' =>
[
'class' => 'yii\web\UrlManager',
'showScriptName' => false,
'enablePrettyUrl' => true,
'rules' => [
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
'<view:(about)>' => 'login/page',
'<action:(index)>' => 'login/<action>',
'<action:(forgotpassword)>' => 'login/forgotpassword<action>',
'<alias:dashboard|forgotpassword>' => 'login/<alias>',
],
]
The is htaccess file.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
This is admin/index.php.
require(__DIR__ . '/../vendor/autoload.php');
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
$config = require(__DIR__ . '/../config/web.php');
(new yii\web\Application($config))->run();`
The default route will direct to login controller and actionIndex. But I tried the below to expected route but 404 not found.
-localhost/myproject/admin/api/totalviews
-localhost/myproject/admin/index.php?r=api/totalviews
-localhost/myproject/index.php?r=api/totalviews
Appreciate your assistance!