رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
seo url در Yii2 advanced
#1
سلام
من طبق این آموزش رفتم جلو:
Option 2: The Hard Way
وقتی :
کد:
'enablePrettyUrl' => true,
'showScriptName' => false,
میذارم
کد:
Not Found

The requested URL /blog/frontend/web/site/index was not found on this server.
Apache/2.4.10 (Ubuntu) Server at localhost Port 80
پاسخ
تشکر شده توسط:
#2
اینجا به خوبی آموزش داده :
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 نام پروژه خودتان رو مینویسید.
پاسخ
تشکر شده توسط: aminar , engmmrj , majidganji




کاربران در حال بازدید این موضوع: 1 مهمان