yii2
高度なプロジェクトテンプレート
サーチ…
共有ホスティング環境での展開
高度なプロジェクトテンプレートを共有ホスティングにデプロイするのは、ホスティングWebサーバーがサポートしていない2つのWebルートがあるため、基本的なプロジェクトテンプレートを基本的なものよりもやや難しくしています。私たちは、フロントエンドのURLがされるので、ディレクトリ構造を調整する必要があります//site.local:HTTPおよびバックエンドURLがなる//site.local/adminます:http 。
エントリスクリプトを単一のWebルートに移動する
まず、Webrootディレクトリが必要です。新しいディレクトリを作成し、ホスティングのWebルート名(wwwやpublic_htmlなど)と一致する名前を付けます。次に、wwwが作成したWebルートディレクトリをホスティングしている次の構造を作成します。
www
admin
backend
common
console
environments
frontend
...
wwwはフロントエンドディレクトリになりますので、 frontend / webの内容をそのディレクトリに移動してください。 バックエンド/ Webの内容をwww / adminに移動します。いずれの場合も、 index.phpとindex-test.phpのパスを調整する必要があります 。
セッションとCookieを調整する
もともとバックエンドとフロントエンドは異なるドメインで動作することを意図しています。すべてを同じドメインに移動すると、フロントエンドとバックエンドは同じCookieを共有し、衝突を作ります。これを修正するには、次のようにバックエンドアプリケーションのconfig backend / config / main.phpを調整します。
'components' => [
'request' => [
'csrfParam' => '_csrf-backend',
'csrfCookie' => [
'httpOnly' => true,
'path' => '/admin',
],
],
'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => true,
'identityCookie' => [
'name' => '_identity-backend',
'path' => '/admin',
'httpOnly' => true,
],
],
'session' => [
// this is the name of the session cookie used for login on the backend
'name' => 'advanced-backend',
'cookieParams' => [
'path' => '/admin',
],
],
],
これは、共有ホスティングユーザーが高度なアプリケーションを展開するのに役立ちます。
クレジット: https : //github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/topic-shared-hosting.md
シンボリックリンクを使用してフロントエンドとバックエンド間でアップロードされたファイルを共有する
したがってあなたのファイルをsay /backend/web/uploads/
というフォルダにアップロードし、これらのアップロードをフロントエンドでも見たいと思っています。最も簡単なオプションは、バックエンドにリンクするフロントエンドにシンボリックリンクを作成することです:
ln -s /path/to/backend/web/uploads/ /path/to/frontend/web/uploads
あなたのビューでは、ファイルへの相対リンクを使用することができます:
<img src='/uploads/<?= $model->image?>' alt='My Image goes here'>
<a href='/uploads/<?= $model->filename?>' target='_blank'>Download File</a>
あなたのWebサーバーがシンボリックリンクを守れるようにしてください。