myks92
@myks92
Нашёл решение — пометь вопрос ответом!

Yii Как сделать редирект с backend/web/?

Всем привет! Вопрос простой, но я не могу его никак решить.

Можете подсказать как сделать редирект в htaccess всех ссылок, в которых есть backend/web. Например, когда запрос
crm.topjam.ru/sk-orto/backend/web/help/rating


Нужно у него убрать /backend/web и перенаправить на новый запрос:

crm.topjam.ru/sk-orto/help/rating


Проект лежит в подпапке sk-orto, а не в корне.

config
$baseUrl = str_replace('/backend/web', '', (new Request)->getBaseUrl());
'request' => [
            'csrfParam' => '_csrf-backend',
            'baseUrl' => $baseUrl
        ],


htaccess
# deal with admin first
    RewriteCond %{REQUEST_URI} ^/(assets|css|js|images)
    RewriteRule ^assets/(.*)$ backend/web/assets/$1 [L]
    RewriteRule ^css/(.*)$ backend/web/css/$1 [L]
    RewriteRule ^js/(.*)$ backend/web/js/$1 [L]
    RewriteRule ^images/(.*)$ backend/web/images/$1 [L]
    RewriteRule ^(.*)$ backend/web/$1 [L]

    # if request begins with /admin remove admin and ad /backend/web/
    RewriteCond %{REQUEST_URI} ^/admin
    RewriteRule ^admin\/?(.*) /backend/web/$1

    # other requests add /frontend/web/$1
    RewriteCond %{REQUEST_URI} !^/(frontend/web|backend/web|admin)
    RewriteRule (.*) /backend/web/$1

    # if backend request
    RewriteCond %{REQUEST_URI} ^/backend/web
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /backend/web/index.php


При данных настройках адрес crm.topjam.ru/sk-orto/backend/web выдает ошибку 404, но если добавить index.php, то backend/web/
  • Вопрос задан
  • 139 просмотров
Пригласить эксперта
Ответы на вопрос 1
VladimirAndreev
@VladimirAndreev
php web dev
А может в конфиге вебсервера root хвоста поменять?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы