@yiicoder

Как переписать роутинги с Apache на Nginx(разделение на backend\frontend)?

Проект разделен на frontend\backend.
Структура следующая:
/
/...
/backend/www/...
/backend/www/index.php
/frontend/www/...
/frontend/www/index.php

Т.е. когда мы обращаемся по site.com/css/style.css реально файл располагается в /frontend/www/css/style.css, если делаем доступ до не существующего файла без расширения, то запрос падает на /frontend/www/index.php, но если путь начинается с /admin/* то все тоже самое только на путь /backend/www/....

Cейчас все работает под apache, но хотелось бы от неё избавиться.
Организовано сейчас следующим образом:
в корне(document_root) лежит /.htaccess
RewriteEngine on
RewriteRule ^/?admin(.*)$ /backend/www/$1 [L]
RewriteRule (.*) frontend/www/$1 [last]

/frontend/www/.htaccess
/backend/www/.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(gif|jpg|jpeg|png|bmp|css|js).* [NC]
RewriteRule (.*) index.php


Как повторить тоже самое на nginx+phpfpm? Может у кого есть подобная конфигурация?
  • Вопрос задан
  • 2770 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Power
А в чём проблема? Читайте документацию: location, try_files, rewrite, ... И составляйте свою конфигурацию. Лучше не искать готовую в сети, т.к. полно примеров с ошибками.
Ответ написан
Комментировать
@LAV45
https://gist.github.com/LAV45/5f75aeb8f40f6ac4efa2

Я обычно разделяю frontend и backend по разным субдоменам.
http://site.com - frontend
http://admin.site.com - backend
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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