1. ドキュメントに記載されているように、サーバーにYii2 Basicをインストールします 。 そこにはすべてが明確に記述されており、ケースについては追加するものがありません。
ここにない限り、OpenServerでローカルに、問題なく、問題なく配信されました。 しかし、リモートで、1GBのRAMを備えたKVM Ubuntu 16.04では、Composerに十分なメモリがありませんでした。 彼は2時間戦ったが、マスターしなかった。 幸いなことに、サイトは単純なコピーによってローカルサーバーからリモートサーバーに簡単に転送できます。
2.繰り返しますが、インストールは基本的なものです (たとえば、 / www / site / basicフォルダーにありますが、簡単にするために、マニュアルで推奨されているように、プロジェクトを作成した基本フォルダーから正確に数え続けます)。
すぐにBasic / webフォルダーをDocumentRootとしてインストールします。これを行う方法はロシア語の公式マニュアルにも記載されています 。
3. basic / controllers / SiteController.phpを開き 、変更します
public function actions() { return [ 'error' => [ 'class' => 'yii\web\ErrorAction', ], 'captcha' => [ 'class' => 'yii\captcha\CaptchaAction', 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null, ], ]; }
に
public function actions() { return [ 'error' => [ 'class' => 'yii\web\ErrorAction', ], 'captcha' => [ 'class' => 'yii\captcha\CaptchaAction', 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null, ], 'page' => [ 'class' => 'yii\web\ViewAction', ], ]; }
これにより、静的ページごとに個別のアクションを記述できなくなります。 今後は、基本/ビュー/サイト/ページフォルダから自動的に選択されます。
このフォルダーにone.phpファイルを作成し、 basic / views / site / about.phpファイルの内容をその中にコピーします(明確にするため)。
これで、このファイルの内容は次の場所から入手できます。
http://yoursite.com/index.php?r=site%2Fpage&view=one
したがって、必要なファイルを作成できます。
4. ここに記載されているようにCNCをオンにします 。
設定は、basic / config / web.phpファイルで行われます。
5. URLを作成するには
http://yoursite.com/index.php?r=site%2Fpage&view=one
のように見えた
http://yoursite.com/one
CNCにこのようなルールを設定する必要があります
「表示」=>「サイト/ページ」、
(注意!!!上記の例の単語ビューは山括弧でとらえるべきです。habrHTMLフィルターがスキップされないため、そのままでは書けませんでしたが、下では-すべては問題ありません、パラドックス... *肩をすくめます*)
つまり、basic / config / web.phpのCNCを担当するコードは次のようになります。
'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'enableStrictParsing' => false, 'rules' => [ '<view>' => 'site/page', ], ],
6.各ページのメタタグ。 最初は、タイトルのみが設定されています。
$this->title = ' one.php';
たとえば、OGメタタグを追加する必要があります(それが何かわからない場合は、グーグルで検索してください-これはソーシャルネットワークにとってかけがえのないものです)。 以下のような行に直接書き込みます。
$this->registerMetaTag([ 'property' => 'og:title', 'content' => 'OG- one.php' ]);
これと同様に、残りのメタタグを追加します。 不明な点がある場合-registerMetaTag()にドキュメントがあります
7. Ogのトリック:url
ラインの下で
use yii\helpers\Html;
ページの一番上に、次を追加します。
use yii\helpers\Url;
そして、あなたはog:urlを次のように書きます:
$this->registerMetaTag([ 'property' => 'og:url', 'content' => Url::to('',true) ]);
これで、サーバーからサーバーog-urlへの転送は問題ありません。
8.サイトの内部リンクでも同じです。 ヘルパーを接続します(ページの上部):
use yii\helpers\Url;
また、たとえば、次のフォームにページ1へのリンクを配置します。
<?= Url::to(['site/page', 'view' => 'one']); ?>
CNCに設定したルールに関係なく、正しく表示されるようになりました。
そして、はい、NavBarレイアウトウィジェット( basic / views / layouts / main.php )では、同じリンクは次のようになります。
['label' => ' One', 'url' => ['/site/page', 'view' => 'one']],
それだけです。 Yii2のシンプルなサイトは、すぐに使用できます(顔文字の設定が禁止されているのは残念です)。
何らかの方法で、少なくとも入門部分を含め、Yii2のドキュメントを読む必要があります。 しかし、空のアプリケーションだけでなく、すぐに使用できるWebアプリケーションをすぐに作成する方法がわかりました。 一度このようなガイドがあれば、3日間ネットに座っていませんでしたが、もう少し歩いていたでしょう。 春も同じです。
健康になりましょう!