.htaccess - how to create htacess to rewrite the route in yii2 -


i use yii2 develop website, , use virtual host. question in yii2 source code put in web folder, , have visit website "http://www.mydoname.com/web/index.php", if want visit "http://www.mydoname.com/index.php" ,how create .htaccess in root, should write?

lets try this:

1- create .htaccess file on root directory(yii2-app) content

options -indexes  <ifmodule mod_rewrite.c>    rewriteengine on    rewritecond %{request_uri} /(uploads)   rewriterule ^uploads/(.*)$ uploads/$1 [l]    rewriterule ^(.*)$ frontend/web/$1 [l]  </ifmodule>  # deny accessing below extensions <files ~ "(.json|.lock|.git)"> order allow,deny deny </files>  # deny accessing dot files rewriterule (^\.|/\.) - [f] 

2- create .htaccess file in frontend/web below contents

rewriteengine on  rewritecond %{request_filename} !-f rewritecond %{request_filename} !-d   rewriterule . index.php 

3- now, open frontend/config/main.php file , set $baseurl \yii\web\request , \yii\web\urlmanager.

<?php $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('/frontend/web', '', (new request)->getbaseurl());  return [     'id' => 'app-frontend',     'basepath' => dirname(__dir__),     'bootstrap' => ['log'],     'controllernamespace' => 'frontend\controllers',      'components' => [          'request' => [             'baseurl' => $baseurl,         ],          'user' => [             'identityclass' => 'common\models\user',             'enableautologin' => true,         ],          'log' => [             'tracelevel' => yii_debug ? 3 : 0,             'targets' => [                 [                     'class' => 'yii\log\filetarget',                     'levels' => ['error', 'warning'],                 ],             ],         ],          'errorhandler' => [             'erroraction' => 'site/error',         ],          'urlmanager' => [             'baseurl' => $baseurl,             'enableprettyurl' => true,             'showscriptname' => false,             'rules' => []         ]     ],     'params' => $params, ]; 

visit: localhost/yii2-app/

original reference


Comments