Tuesday, May 7, 2019

Htaccess Configuration

root .htaccess
==============
Options -Indexes

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_URI} /(uploads)
RewriteRule ^uploads/(.*)$ uploads/$1 [L]

# End the processing, if a rewrite already occurred
RewriteRule ^(frontend|backend)/web/ - [L]

# Handle the case of backend, skip ([S=1]) the following rule, if current matched
RewriteRule ^backend(/(.*))?$ backend/web/$2 [NC,L]

# handle the case of frontend
RewriteRule .* frontend/web/$0

RewriteRule ^api(/(.*))?$ api/$3

</IfModule>

# Deny accessing below extensions
#<Files ~ "(.json|.lock|.git)">
#Order allow,deny
#Deny from all
#</Files>

# Deny accessing dot files
#RewriteRule (^\.|/\.) - [F]


Frontend/Web .htaccess
======================
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

Frontend/Config main
=========================
use \yii\web\Request;

$params = array_merge(
       require __DIR__ . '/../../common/config/params.php', require __DIR__ . '/../../common/config/params-local.php', require __DIR__ . '/params.php', require __DIR__ . '/params-local.php'
);

return [
   'id' => 'app-frontend',
   'basePath' => dirname(__DIR__),
   'bootstrap' => ['log'],
   'controllerNamespace' => 'frontend\controllers',
   'components' => [
       'request' => [
           'csrfParam' => '_csrf-carco-frontend',
           'baseUrl' => str_replace('/frontend/web', '', (new Request)->getBaseUrl()),
       ],
       'user' => [
           'identityClass' => 'frontend\models\MyUser',
           'enableAutoLogin' => true,
           'identityCookie' => ['name' => '_identity-trending-frontend', 'httpOnly' => true],
       ],
       'session' => [
           // this is the name of the session cookie used for login on the frontend
           'name' => 'advanced-trending-frontend',
       ],
       'log' => [
           'traceLevel' => YII_DEBUG ? 3 : 0,
           'targets' => [
               [
                   'class' => 'yii\log\FileTarget',
                   'levels' => ['error', 'warning'],
               ],
           ],
       ],
       'errorHandler' => [
           'errorAction' => 'site/error',
       ],
       'urlManager' => [
           'enablePrettyUrl' => true,
           'showScriptName' => false,
           //'enableStrictParsing' => true,
           'rules' => [
               '/' => 'site/index',
               'reset-password' => 'site/reset-password',
               'logout' => 'site/logout',
               '<controller:\w+>/<id:\d+>' => '<controller>/view',
               '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
               '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
           ],
       ],
   ],
   'params' => $params,
];

Backend/Web .htaccess
======================
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

Backend/Config main
=====================

$params = array_merge(
       require __DIR__ . '/../../common/config/params.php', require __DIR__ . '/../../common/config/params-local.php', require __DIR__ . '/params.php', require __DIR__ . '/params-local.php'
);

use \yii\web\Request;

$baseUrl = str_replace('/backend/web', '/backend', (new Request)->getBaseUrl());
return [
   'id' => 'app-backend',
   'basePath' => dirname(__DIR__),
   'controllerNamespace' => 'backend\controllers',
   'bootstrap' => ['log'],
   'modules' => [
       'gridview' => [
           'class' => '\kartik\grid\Module'
       ]
   ],
   'components' => [
       'assetManager' => [
           'class' => 'yii\web\AssetManager',
           'forceCopy' => true,
       ],
       'request' => [
           'baseUrl' => $baseUrl,
       ],
       'user' => [
           'identityClass' => 'common\models\User',
           'enableAutoLogin' => true,
           //'authTimeout' => 172800, // 48 hour
           'identityCookie' => ['name' => '_identity-trending-backend', 'httpOnly' => true],
       ],
       'session' => [
// this is the name of the session cookie used for login on the backend
           'name' => 'trending-backend',
       //'savePath' => sys_get_temp_dir(),
       ],
       'log' => [
           'traceLevel' => YII_DEBUG ? 3 : 0,
           'targets' => [
               [
                   'class' => 'yii\log\FileTarget',
                   'levels' => ['error', 'warning'],
               ],
           ],
       ],
       'errorHandler' => [
           'errorAction' => 'site/error',
       ],
       'urlManager' => [
           'enablePrettyUrl' => true,
           'showScriptName' => false,
           //'enableStrictParsing' => true,
           'baseUrl' => $baseUrl,
           'rules' => [
               '/' => 'site/index',
               'logout' => 'site/logout',
               // users
               'users' => 'users/index',
               // tips
               'tips' => 'tips/index',
               'reports' => 'reports/index',
               'mails' => 'mail-content/create',
               'withdraw' => 'withdraw/index',
               '<controller:\w+>/<id:\d+>' => '<controller>/view',
               '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
               '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
           ],
       ],
   ],
   'params' => $params,
];

No comments:

Post a Comment