|
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 3
|
|
Php как текст в одном location28.02.2016, 22:03. Показов 1480. Ответов 4
Метки нет (Все метки)
Не могу понять почему в одном location не получается нормально отработать php.
Конфиг виртуалхоста: Кликните здесь для просмотра всего текста
server {
listen 80; server_name ta.site.ru; access_log /var/log/nginx/ta/access.log main; error_log /var/log/nginx/ta/error.log debug; index distributor.xml; root /var/www/site.ru; location ~ /(ru|en) { set $lang $1; rewrite ^/(?:..)/$ /distributor.xml?lang=$lang last; rewrite ^/(?:..)/orders/([0-9]+)/$ /distributor.xml?lang=$lang&part=orders&i dorders=$1 last; } location ~ /control { index index.xml; try_files $uri $uri/ @ctrl_path; # if (!-f $request_filename) { # rewrite ^/control/([0-9a-z]+)/$ /control/index.xml?path=$1 break; # } } location @ctrl_path { rewrite ^/control/(.*)$ /control/index.xml?path=$1 last; } # location ~ \.php$ { # include fastcgi-php.conf; # try_files $uri =404; # fastcgi_split_path_info ^(.+\.php)(/.+)$; # fastcgi_index index.xml; # include fastcgi_params; # } location ~ \.(xml|php)$ { include fastcgi-xml.conf; } location ~ /\.ht { deny all; } } fastcgi-xml.conf: Кликните здесь для просмотра всего текста
fastcgi_split_path_info ^(.+\.(?:xml|php))(/.+)$; try_files $fastcgi_script_name =404; set $path_info $fastcgi_path_info; fastcgi_param PATH_INFO $path_info; fastcgi_index index.xml; include fastcgi_params; кусок из лога при запросе: ta.site.ru/control/asd/ Кликните здесь для просмотра всего текста
2016/02/28 08:12:21 [notice] 9253#9253: *2 "^/control/(.*)$" matches "/control/asd/", client: 192.168.10.44, server: ta.site.ru, request: "GET /control/asd/ HTTP/1.1", host: "ta.site.ru"
2016/02/28 08:12:21 [notice] 9253#9253: *2 rewritten data: "/control/index.xml", args: "path=asd/", client: 192.168.10.44, server: ta.site.ru, request: "GET /control/asd/ HTTP/1.1", host: "ta.site.ru" ==> ta/access.log <== 192.168.10.44 - - [28/Feb/2016:08:12:21 +0300] "GET /control/asd/ HTTP/1.1" 200 102 "-" "curl/7.38.0" "-" ==> ta/error.log <== 2016/02/28 08:12:21 [info] 9253#9253: *2 client 192.168.10.44 closed keepalive connection Собственно location /(ru|en) - работает прекрасно, а вот /сontrol - отдает файлы php и xml текстом. xml-файлы на стороне сервера - по сути обычный пхп скрипт. Под коментами отражены некоторые попытки "завести" этот сайт как надо.
0
|
|
| 28.02.2016, 22:03 | |
|
Ответы с готовыми решениями:
4
Текст,картинки в одном,как сделать Nav-tab и php location
|
|
1137 / 685 / 412
Регистрация: 07.11.2015
Сообщений: 1,102
|
|||
| 29.02.2016, 01:59 | |||
Сообщение было отмечено xpavlus как решение
Решение
http://nginx.org/ru/docs/http/... l#location
Можно поменять местами location ~ \.(xml|php)$ и location ~ /control. Или поправить содержимое @ctrl_path.
1
|
|||
|
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 3
|
|
| 29.02.2016, 08:29 [ТС] | |
|
Спасибо. Помогло. Интуитивно я понимал что это происходит, но не придумал как это обойти. Еще раз спасибо за совет.
Добавлено через 14 минут А есть мысли почему location ~ /(ru|en) обрабатывает пхп нормально?
0
|
|
|
1137 / 685 / 412
Регистрация: 07.11.2015
Сообщений: 1,102
|
||
| 29.02.2016, 13:41 | ||
|
Адрес /distributor.xml не совпадает с шаблонами /(ru|en) и /control. Совпадение будет только с \.(xml|php)$.
1
|
||
|
0 / 0 / 0
Регистрация: 28.02.2016
Сообщений: 3
|
|
| 29.02.2016, 16:27 [ТС] | |
|
мда... Это ж так очевидно. Спасибо за помощь.
0
|
|
| 29.02.2016, 16:27 | |
|
Помогаю со студенческими работами здесь
5
Почему в винде не работает header('Location: index.php'); ?
Можно ли использовать PHP 5.6 и PHP 7 на одном компьютере
Как оформить текст в PHP Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|