クライマーの井口です。
日々充実しすぎて大変です 笑
ところで、
レンタルサーバなどにYii2を設置する場合、
ドキュメントルートの設定変更ができず困ることがあります。
ちょうどさっき困ってました。
対処法の備考録です。
※この対処法が効かないサーバもあります。
(そもそもmod_rewriteの機能を制限しているようなへんてこサーバも有りますので要注意です)
実際のドキュメントルート: wwwディレクトリとした場合
www/app/以下にyii2を配置する想定のお話です。
yii2はbasic templateを使用した場合を想定しています。
(frontendとbackendがわかれないやつ)
www/app/config/web.php(メインの設定ファイル)に追記する内容
use \yii\web\Request;
$baseUrl = str_replace('/app/web', '', (new Request)->getBaseUrl());
return [
'basePath' => dirname(__DIR__),
'components' => [
'request' => [
'baseUrl' => $baseUrl,
],
'urlManager' => [
'baseUrl' => $baseUrl,
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'' => 'site/page'
],
],
],
];
www直下に.htaccess
RewriteEngine on RewriteRule ^(.*)$ app/web/$1 [L]
app/web/直下のhtaccess
RewriteEngine on
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php
このように設定した場合、トップページへのリンク方法は
Yii::$app->request->baseUrl を使わず、
Url::to(['/']);
を使いましょう。
以上、備考録でした。
-----------------------------------------------
弊社ではシステム開発、Web制作, Iot案件など幅広く対応しております。
ビジネスプランをお持ちの方、WEBアプリを使って何か新しいビジネスを始めたい方、
僕達が力になれるかもしれません
是非お問い合わせ下さい
-----------------------------------------------
同時に、デザイナ、エンジニア、コーダの方募集中です。
サーバ周りからデザイン、システムまでワンストップでの開発を経験できますので、
WEB開発の事を学びたい方にぴったりな職場だと思っております。
またそういった向上心あふれる方と一緒に成長してきたいと思っておりますので、
興味を持たれた方はとりあえずご連絡下さい(^^)
-----------------------------------------------
福岡のシステム開発・Web制作 ・Iot開発 C-limber(クライマー)株式会社
0 コメント:
コメントを投稿