اینجا به خوبی آموزش داده :
yii framework 2 seo
نتیجه :
frontend
advanced/post/1
backend
advanced/admin/site/login
در مرحله اول
در ریشه پروژه قرار میدیم.
کد:
# prevent directory listings
Options -Indexes
IndexIgnore */*
# follow symbolic links
Options FollowSymlinks
RewriteEngine on
RewriteRule ^admin(/.+)?$ backend/web/$1 [L,PT]
RewriteRule ^admin(/)?$ backend/web/$1 [L,PT]
RewriteRule ^(.+)?$ frontend/web/$1
مرحله دوم
در مسیر :
backend/web
frontend/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
مرحله سوم
frontend/config/main.php
بیرون از components :
کد:
'homeUrl' => '/advanced',
و این را هم در داخل components کپی میکنیم:
کد:
'request' => [
'baseUrl' => '/advanced',
],
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
],
],
مرحله چهارم
backend/config/main.php
بیرون از components :
کد:
'homeUrl' => '/advanced/admin',
و این را هم در داخل components کپی میکنیم:
کد:
'request' => [
'baseUrl' => '/advanced/admin',
],
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
],
],
توجه: در داخل هردو پوشه main.php به جای advanced نام پروژه خودتان رو مینویسید.