Форум об интернет-маркетинге
Вернуться   Форум об интернет-маркетинге > Технические вопросы > Веб-строительство

Ответ
 
Опции темы
Старый 10.08.2020, 15:23   #1
Ankr
Junior Member
Студент
 
Регистрация: 24.06.2020
Сообщений: 11
Сказал(а) спасибо: 9
Получил(а) "Спасибо": 0
Нарушения: 0/0 (0)
Репутация: 166

Thread Starter Конвертация htaccess nginx

Есть htaccess:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L,QSA]
</IfModule>

В конфиг nginx попробовал конструкцию:
if (!-e $request_filename){
rewrite ^(.*)$ /index.php/$1 break;
}
Не работает.
Нужно, обязательно, с использованием rewrite.
Ankr вне форума   Ответить с цитированием
Старый 10.08.2020, 16:38   #2
leonidukg
Работаю ⌛
Доцент
 
Аватар для leonidukg
 
Регистрация: 10.07.2020
Сообщений: 162
Сказал(а) спасибо: 6
Получил(а) "Спасибо": 250
Нарушения: 0/0 (0)
Репутация: 138205
Отправить сообщение для leonidukg с помощью ICQ

По умолчанию Re: Конвертация htaccess nginx

ИМХО там просто делается:

location / {
try_files $uri $uri/ /index.php?$args;
}
leonidukg вне форума   Ответить с цитированием
Старый 10.08.2020, 16:57   #3
Ankr
Junior Member
Студент
 
Регистрация: 24.06.2020
Сообщений: 11
Сказал(а) спасибо: 9
Получил(а) "Спасибо": 0
Нарушения: 0/0 (0)
Репутация: 166

Thread Starter Re: Конвертация htaccess nginx

Сейчас так и работает. Но конфиг затирается при обновлении сертификата и приходиться следить, вовремя править по новой.
Панель Vesta. Для пользовательских настроек есть специальный файл. Но в этом файле try_files не работает. Нужно с использованием rewrite.
Ankr вне форума   Ответить с цитированием
Старый 10.08.2020, 17:05   #4
Coder
Senior Member
Доцент
 
Регистрация: 25.07.2020
Сообщений: 437
Сказал(а) спасибо: 486
Получил(а) "Спасибо": 712
Нарушения: 0/0 (0)
Репутация: 7417
Отправить сообщение для Coder с помощью ICQ

По умолчанию Re: Конвертация htaccess nginx

Полезные редиректы в nginx
http://coderhs.com/snippets/nginx-redirects

Цитата:
Сейчас так и работает. Но конфиг затирается при обновлении сертификата и приходиться следить, вовремя править по новой.
*Можно через костыль ещё - по крону или просто условию записывать правильный вариант файла при затирании целевого.
Coder вне форума   Ответить с цитированием
Сказали спасибо:
Старый 10.08.2020, 17:08   #5
leonidukg
Работаю ⌛
Доцент
 
Аватар для leonidukg
 
Регистрация: 10.07.2020
Сообщений: 162
Сказал(а) спасибо: 6
Получил(а) "Спасибо": 250
Нарушения: 0/0 (0)
Репутация: 138205
Отправить сообщение для leonidukg с помощью ICQ

По умолчанию Re: Конвертация htaccess nginx

Если идёт переписывание конфига, то создайте свой шаблон:
https://forum.vestacp.com/viewtopic.php?t=17466

И пусть панель его и юзает.
leonidukg вне форума   Ответить с цитированием
Сказали спасибо:
Старый 10.08.2020, 17:19   #6
Ankr
Junior Member
Студент
 
Регистрация: 24.06.2020
Сообщений: 11
Сказал(а) спасибо: 9
Получил(а) "Спасибо": 0
Нарушения: 0/0 (0)
Репутация: 166

Thread Starter Re: Конвертация htaccess nginx

Не получиться. Несколько сайтов используют шаблон панели. Проще отключить вообще обновление этого конфига из шаблона, тем более в нем ничего не изменяется при обновлении сертификата.
Но хотелось бы сделать правильно. На других сайтах все прекрасно работает с rewrite. Только с этим сайтом проблема.
Ankr вне форума   Ответить с цитированием
Старый 10.08.2020, 18:32   #7
Coder
Senior Member
Доцент
 
Регистрация: 25.07.2020
Сообщений: 437
Сказал(а) спасибо: 486
Получил(а) "Спасибо": 712
Нарушения: 0/0 (0)
Репутация: 7417
Отправить сообщение для Coder с помощью ICQ

По умолчанию Re: Конвертация htaccess nginx

Тогда вопрос может быть не в правильности конструкции, а в возможном конфликте инструкций именно на сайте - остальные ведь работают хорошо - значит, нужно разобраться в обязательном порядке с причиной несрабатывания.

Сказанное, конечно, и так понятно - но другого оптимального и правильного варианта нет - вот если бы проблема с rewrite была общей, тогда.... А так, в этом случае, любые костыли не есть гуд, имхо.
Coder вне форума   Ответить с цитированием
Старый 10.08.2020, 19:21   #8
Ankr
Junior Member
Студент
 
Регистрация: 24.06.2020
Сообщений: 11
Сказал(а) спасибо: 9
Получил(а) "Спасибо": 0
Нарушения: 0/0 (0)
Репутация: 166

Thread Starter Re: Конвертация htaccess nginx

Coder, дело именно в синтаксисе.
В veste все правильно сделано, никаких костылей не нужно. Есть конфигурационный файл хоста - site.ru.nginx.ssl.conf. В конце которого подключается файл для настроек пользователя: include /home/site/conf/web/snginx.site.ru.conf_custom;
Вот в этом файле можно вносить свои настройки. Только в нем секцию location создать нельзя. Насколько я понимаю, эта секция в конфиге может быть одна, и она уже есть в основном файле, поэтому nginx не запуститься - ошибка синтаксиса. Можно использовать только директиву rewrite.
Ankr вне форума   Ответить с цитированием
Старый 10.08.2020, 19:44   #9
leonidukg
Работаю ⌛
Доцент
 
Аватар для leonidukg
 
Регистрация: 10.07.2020
Сообщений: 162
Сказал(а) спасибо: 6
Получил(а) "Спасибо": 250
Нарушения: 0/0 (0)
Репутация: 138205
Отправить сообщение для leonidukg с помощью ICQ

По умолчанию Re: Конвертация htaccess nginx

Цитата:
Насколько я понимаю, эта секция в конфиге может быть одна
Нет, может много разных. Конфиг полностью выложите который в шаблоне.
leonidukg вне форума   Ответить с цитированием
Старый 10.08.2020, 19:50   #10
Coder
Senior Member
Доцент
 
Регистрация: 25.07.2020
Сообщений: 437
Сказал(а) спасибо: 486
Получил(а) "Спасибо": 712
Нарушения: 0/0 (0)
Репутация: 7417
Отправить сообщение для Coder с помощью ICQ

По умолчанию Re: Конвертация htaccess nginx

Исхожу из сказанного Вами:
Цитата:
На других сайтах все прекрасно работает с rewrite. Только с этим сайтом проблема
Вот и надо разобраться, почему - это первый и главный вопрос, а как сделать - уже второй.

Подсказать на удалении по описанию трудно что конкретное, кроме логики подхода к возможному решению.
Coder вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Закрыть доступ к wp-login.php на Nginx wzp Веб-строительство 4 23.07.2020 22:37
Обновление nginx -= Serafim =- Веб-строительство 8 22.07.2020 18:12


Текущее время: 23:52. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc. Перевод: zCarot