я пытаюсь запустить свой сайт на Nginx так для фронта я ставлю некоторые конфигурации:Nginx как запустить сайт из другого каталога?
server {
listen 80;
server_name domain.com;
root /var/www/domain.com/www;
index index.php;
# Use FastCGI with PHP-FPM for all things PHP
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /var/www/domain.com/www$fastcgi_script_name;
include fastcgi_params;
}
}
И это нормально. Проблема в том, что я пытаюсь запустить область администрирования. Панель администратора находится в подкаталоге /var/www/domain.com/www/admin
и файл index.php
. В апача я просто поставить еще один .htaccess
файл с правилом перезаписи:
RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css|htc)$ index.php
и все в порядке, но как это сделать в Nginx?
Мой сайт построен с передней и административной зонами. Передняя панель запускается, когда вы переходите к domain.com/some_url.html, а область администрирования находится в домене.com/admin/some_url.html. Структура каталога нечто подобное:
site/
/module/
/public_html/
index.php
/admin/
index.php
поэтому при запуске domain.com/admin/ все должно быть представлено /admin/index.php, но теперь, когда я иду в domain.com/admin/ админку отображаются, но когда я нажимаю некоторые ссылки, все trafik отправляются в файл index.php спереди.
С наилучшими пожеланиями!
Спасибо вам answare. Да, я знаю, что в nginx нет файлов htaccess. Ваш код не помогает, потому что, когда я перехожу к domain.com/admin/some_link.html, запросы переходят на главную index.php no admin/index.php. Есть ли способ сделать это? Путь/admin/in следует рассматривать как каталог. Может быть, я должен создать субдомен для области администратора? С наилучшими пожеланиями. –
Не думаю, что я понимаю ваш вопрос, если вы пытаетесь переписать, можете ли вы обновить вопрос, что вы хотите переписать и где вы хотите переписать примеры? –
'index index.php;' не будет переписываться, он просто сообщает Nginx, какой файл загружается, когда кто-то обращается к папке. Пример: если вы наберете 'domain.com/admin /' в своем браузере, если вы установили nginx для загрузки 'index.php', Nginx будет загружать' domain.com/admin/index.php', если нет, Nginx будет show 'Forbidden' error. Чтобы переписать, вы должны использовать 'rewrite' not' index index.php; '. Обновите вопрос, я могу помочь. –