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/
Comments
Post a Comment