@Evgenya-k2

Как настроить перенаправление в backend/web по адресу admin на хостинге?

Добрый день.
Разворачиваю сайт на хостинге (шаблон advanced), по адресу /admin должен открываться backend.
.htacess в корне сайта:
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

RewriteCond %{REQUEST_URI} ^/admin
RewriteRule ^admin\/?(.*) /backend/web/$1
 
RewriteCond %{REQUEST_URI} !^/(frontend/web|backend/web|admin)
RewriteRule (.*) /frontend/web/$1
 
RewriteCond %{REQUEST_URI} ^/frontend/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /frontend/web/index.php
 
RewriteCond %{REQUEST_URI} ^/backend/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /backend/web/index.php

На хостинге из папки public_html символьная ссылка в frontend/web, из frontend/web символьная ссылка admin в backend/web.
При попытке перейти по адресу my-cite/admin выдает 404, а в урл появляется my-cite/backend/web. В чем может быть ошибка?
  • Вопрос задан
  • 154 просмотра
Решения вопроса 1
mosesfender
@mosesfender
Меланхолик, параноик, падал с коек
/backend/web/index.php

У тебя не получится задействовать .htaccess на backend'е таким способом.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Часть htaccess с рабочего проекта на advanced-шаблоне, где админка лежит по адресу /admin:

Options +SymlinksIfOwnerMatch
IndexIgnore */*
RewriteEngine On

# Если запрос начинается с /admin, то заменяем на /backend/web/
RewriteCond %{REQUEST_URI} ^/admin
RewriteRule ^admin\/?(.*) /backend/web/$1

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

# Если frontend запрос
RewriteCond %{REQUEST_URI} ^/frontend/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /frontend/web/index.php

# Если backend запрос
RewriteCond %{REQUEST_URI} ^/backend/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /backend/web/index.php
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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