Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Ламерские вопросы » Как прописать правила dle для nginx?

Как прописать правила dle для nginx?


     22.11.2020    правила    Все вопросы » Ламерские вопросы    148

вопрос
Здравствуйте.

Правила прописанные в хтачесе:

Если на апаче эти вещи в хтачес работают как надо, то на nginx их нужно написать в правильной форме.

ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html

Это правило говорит о том, что бы был запрет перенаправления на какой либо домен с нашего сайта.
RewriteCond %{HTTP_REFERER} ^http://www\.ДОМЕН_БЕЗ_ЗОНЫ\.(.*) [NC]
RewriteRule .* - [F]

Скажу сразу, как не работает, что бы слишком умные ребята не советовали нерабочие варианты.

error_page 404 /404.html; - не рабочий вариант.
error_page 404 https://МОЙ_ДОМЕН.РУ/404; - не рабочий вариант.

location / {
if ($http_referer ~* "^http://www\.ДОМЕН_БЕЗ_ЗОНЫ\.(.*)"){
return 403;
}
} - не рабочий вариант.

Может кто - то разбирается, как в DLE перенаправить ошибочные страницы. Увы за все 14.1 версии так и не сделали это, приходится делать это в ручную, если на апаче это решается хтачесом, то на nginx это не решается, т.к ошибочных страниц типа 404 получается под 20 разных видов, я уже молчу о подвидах этих страниц.

Буду премного благодарен за ответ, к сожалению специалисты по nginx не смогли помочь, как и специалисты по dle, может есть гуру которые это смогли сами поправить в сборе dle + nginx ?

Ответа пока нет


17 комментариев

TechnicalMan
Юзер

TechnicalMan - 22 ноября 2020 19:26 -

Не проверял ваш конкретный случай. Для себя делал так

1. Идём на сайт https://winginx.com/ru/htaccess
2. Вставляем туда свой .htaccess
3. Конвертируем
4. Заменяем все вхождения слова break на last
5. Готово! Получили рабочий правила для nginx

Ameliya
Юзер

Ameliya - 22 ноября 2020 19:37 -

А теперь для интереса сделайте всё что я написал выше, и вы поймёте, что это не работает.

Ameliya
Юзер

Ameliya - 22 ноября 2020 19:39 -

Ваш совет очень похож на юношеский максимализм, когда молодые люди делают не подумав.

TechnicalMan
Юзер

TechnicalMan - 22 ноября 2020 21:53 -

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

dj-avtosh
PHP-developer

dj-avtosh - 22 ноября 2020 20:17 -

Примерно так, внутри блока server:


error_page 404 /custom_404.html;
        location = /custom_404.html {
                root /usr/share/nginx/html;
                internal;
        }

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.): @blob42
В телегу писать сразу задачу и бюджет.

dj-avtosh
PHP-developer

dj-avtosh - 22 ноября 2020 20:37 -

Кстати, у вас какая связка? nginx+fpm, или вы на апач проксируетесь? Это важно.

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.): @blob42
В телегу писать сразу задачу и бюджет.

Ameliya
Юзер

Ameliya - 22 ноября 2020 20:47 -

dle + nginx - fpm + атьтернативная php.
root /usr/share/nginx/html; - это так и пишется или под рутом что - то имеется ввиду?

dj-avtosh
PHP-developer

dj-avtosh - 22 ноября 2020 20:51 -

root это значит корень, туда вы вписываете директорию где у вас лежит кастомный html. Далее делаете nginx -s reload (после сохранения сего).

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.): @blob42
В телегу писать сразу задачу и бюджет.

Ameliya
Юзер

Ameliya - 22 ноября 2020 20:54 -

В моём случае не требуется перезагрузка, это срабатывает мгновенно автоматически с ips lite.

Не знаю, что Вы имеете ввиду под кастомным html.

Но вот этот вариант


error_page 404 /custom_404.html;
location = /custom_404.html {
root /usr/share/nginx/html;
internal;
}

Он работает без каких либо изменений.

dj-avtosh
PHP-developer

dj-avtosh - 22 ноября 2020 20:56 -

Если ваш 404.html лежит в другой папке, то ее указываете после root.

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.): @blob42
В телегу писать сразу задачу и бюджет.

Ameliya
Юзер

Ameliya - 22 ноября 2020 20:59 -

404 лежит в корне сайта. И называется он 404.html

dj-avtosh
PHP-developer

dj-avtosh - 22 ноября 2020 21:02 -

ну вот, действуйте.

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.): @blob42
В телегу писать сразу задачу и бюджет.

Ameliya
Юзер

Ameliya - 22 ноября 2020 21:07 -

Спасибо с 404 разберёмся поэкспериментируем.

Ameliya
Юзер

Ameliya - 22 ноября 2020 20:51 -

Слушайте ну вроди работает, пойду проверю все вариации. Но на нескольких точно срабатывает.

Ameliya
Юзер

Ameliya - 22 ноября 2020 20:52 -

Ну и это только для 404. А что с запретом редиректа с сайта на другой домен и его вариации скажите?

dj-avtosh
PHP-developer

dj-avtosh - 22 ноября 2020 20:55 -

Что вы имеете ввиду? если к вам на сайт зашли не с вашего сайта, то должно 403 показывать или при каком условии?

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.): @blob42
В телегу писать сразу задачу и бюджет.

Ameliya
Юзер

Ameliya - 22 ноября 2020 21:02 -

Если мой сайт отправляет редиректом через сторонние скрипты или любые вариации, на VK.* то перенаправление не происходит.

Существуют сайты партнёры которые требуют устанавливать редиректы. Например ставите Вы картинку сайта у себя на сайте в виде гугл рекламы. При клике Вы получаете доход, но Вы например не хотите, что бы реклама направляла на конкретный сайт. Для этого делается такой блок. Речь не именно о гугл реклама, а в целом.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх