Yii2 でクリーンな URL を有効にするにはどうすればよいですか? index.php と '?' を削除したい URL パラメータから。そのためにYii2でどのセクションを編集する必要がありますか?
92926 次
14 に答える
16
まず重要なポイントは、
サーバーで Module_Rewrite が有効になっている (LAMP、WAMP、XAMP など) yii2 フレームワークで URL の再配線を行うには .htaccess ファイルを 1 つ作成し、/web フォルダーに配置します
RewriteEngine on
# If a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward it to index.php
RewriteRule . index.php
第二段階
構成フォルダーcommon/config/main-local.php
をコンポーネント配列に追加
'urlManager' => [
'class' => 'yii\web\UrlManager',
// Disable index.php
'showScriptName' => false,
// Disable r= routes
'enablePrettyUrl' => true,
'rules' => array(
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
],
于 2015-04-06T23:02:22.823 に答える
3
この議論に追加するだけです - 私は Yii2 をインストールしたばかりで、config/web.php に次のコメントアウトされたコードが含まれています:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [],
],
受け入れられた回答に .htaccess ファイルを追加する場合は、上記のコメントを外すだけで、きれいな URL が機能します (受け入れられた回答の「ルール」が何のためにあるのかわかりませんが、それらがなくてもすべてが機能するようです)。
于 2016-12-13T13:30:39.257 に答える
3
nginx ではそのように設定します
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
于 2016-08-06T16:31:12.413 に答える
0
Step1: プロジェクト config/main.php で例: frontend/config/main.php
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [],
]
ステップ 2: .htaccess ファイルはめ込み Web フォルダーを作成します。例: frontend/web
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
#php_flag display_errors on
#php_value error_reporting 2039
于 2018-04-05T07:59:28.203 に答える