Форум программистов, компьютерный форум, киберфорум
Наши страницы
nginx
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
billoty
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 13
1

Регулярное выражение для rewrite в конфигурации для исключения строки

11.10.2018, 16:44. Просмотров 963. Ответов 3

Для ресурса на Django 2 и nginx требуется убирать "/" с конца url, для основного приложения всё работает и так:

Bash
1
        rewrite ^(.*)/$ $scheme://example.com$1 permanent;
, но для сайта с админкой требуется сохранить "/" в конце, например как по адресу example.com/admin/sites/site/

Делаю для этого так:

Bash
1
        rewrite ^/([^admin])/(.*)$ /$1 permanent;
следующей строкой в файле конфигурации.

Админка доступна, но тогда естественно не работает перенаправление для основного приложения. Если оставить первый вариант, то в админке слишком много перенаправлений возникает.

Вопрос: как в одном регулярном выражении задать исключение строки "/admin/" для сохранения "/" в админке при задании перенаправления для всего приложения?
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2018, 16:44
Ответы с готовыми решениями:

Регулярное выражение для поддомена в зоне *.com
есть строка server_name ~^(?<site_id>.+)\.example\.com$; чтоб в $site_id ложилось название саба......

Регулярное выражение для строки
Здравствуйте. Есть строка /login?nick=sanych&refer=http://site.com/ и еще одна...

Записать регулярное выражение для строки
Здравствуйте!Вот надо записать регулярку для подобных тестовых строк...

Регулярное выражение для преобразования строки
Здравствуйте, есть задача. Определить класс с методами (они могут быть статическими или не...

Регулярное выражение для поисковой строки
В одном гайде в ютубе, парень сделал регулярку для поисковой строки, выглядит она вот так: if...

3
Emilien
703 / 507 / 289
Регистрация: 07.11.2015
Сообщений: 815
11.10.2018, 22:04 2
Код
rewrite ^(.*)/$ $scheme://example.com$1 permanent;
Заменить на:
Код
rewrite ^(?!/admin/)(.*)/$ $scheme://example.com$1 permanent;
1
billoty
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 13
12.10.2018, 12:04  [ТС] 3
Спасибо за ответ, с вариантом

Код
rewrite ^(?!/admin/)(.*)/$ $scheme://example.com$1 permanent;
по url-ам https://example.com/ и https://example.com образуется бесконечное перенаправление.

С админкой и другими "подразделами" всё в порядке.

Если проблема не в этом регулярном выражении и вообще не в данном редиректе, то в каком месте файла конфигурации искать источник циклического перенаправления?
0
Emilien
703 / 507 / 289
Регистрация: 07.11.2015
Сообщений: 815
12.10.2018, 12:33 4
Лучший ответ Сообщение было отмечено billoty как решение

Решение

Поменять квантификатор * на +
Код
rewrite ^(?!/admin/)(.+)/$ $scheme://example.com$1 permanent;
1
12.10.2018, 12:33
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2018, 12:33

Регулярное выражение для строки подключения
Добрый день. Есть строка подключения к БД: Data Source=xx1;Initial Catalog=XXX2.mdf;User...

Регулярное выражение для удаления URL из строки
Задача состоит в том, чтоб находить УРЛ в строке Например в названии файла: imagewww.не понятно...

Написать регулярное выражение для поиска строки
Доброго времени суток. Изучаю регулярные выражения. Столкнулся с проблемой. Как написать рег выр...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru