Dismiss Notice
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Вопрос? Выдать 404 ошибку для конкретного url

Discussion in 'Вопросы- ответы' started by John, Sep 28, 2020.

28.09.20 в 09:53
28.09.20 в 15:15
6
802
0
  1. TopicStarter Overlay
    John

    Staff Member VIP Кинотрафик v2

    Joined:
    Oct 27, 2015
    Messages:
    752
    Best Answers:
    0
    Ratings:
    +313 / 85 / -0
    Есть URL http://site.com/adres.html, по которому нужно отдавать 404 ошибку.

    Пробовал на уровне nginx вставлять вот это правило

    Code:
    location http://site.com/adres.html {
    return 404;
    }
    Но оно не срабатывает.
    Раньше срабатывает перенаправление DLE, которое отвечает за обработку неверных ЧПУ.
    Хотя пихал этот код в разные части конфигурационного файла nginx.

    Может где-то в DLE в Index.php или main.php (или еще где-то) можно написать перенаправление на 404 страницу, до того как сработает обработка неверного ЧПУ?
     
    #1 John, Sep 28, 2020
    Last edited: Sep 28, 2020
  2. Pr00f

    Pr00f Бывалый

    Joined:
    Feb 4, 2019
    Messages:
    404
    Best Answers:
    0
    Ratings:
    +165 / 12 / -0
    Code:
    location /adres.html {
      return 404;
    }
    и потом еще конфиги у nginx нужно перезагрузить
     
    • Нравится Нравится x 1
  3. romanoff

    PRO Users

    Joined:
    Jul 28, 2017
    Messages:
    178
    Best Answers:
    1
    Ratings:
    +52 / 3 / -0
    попробуй в .htaccess

    Code:
    RedirectMatch 404 ^/adres.html
     
  4. TopicStarter Overlay
    John

    Staff Member VIP Кинотрафик v2

    Joined:
    Oct 27, 2015
    Messages:
    752
    Best Answers:
    0
    Ratings:
    +313 / 85 / -0
    Так тоже пробовал, но что-то не взлетает. Но у меня несколько спецов над серваком шаманило, думаю там теперь не все стандартно.
    Поэтому и подумал, что проще будет в DLE пару строчек прописать, чем с nginx разбираться.

    Нее, так не сработает. Сайт на nginx.
     
  5. Pr00f

    Pr00f Бывалый

    Joined:
    Feb 4, 2019
    Messages:
    404
    Best Answers:
    0
    Ratings:
    +165 / 12 / -0
    тогда надо смотреть конфиг целиком. может его перекрывает другое правило для html, которое выше прописано
    но этот вариант должен работать. проверил сейчас на своем сервере
    Code:
    location /test.html {
       return 403;
    }
    или так
    location = /test.html {
       return 403;
    }
    
     
    • Нравится Нравится x 1
  6. Cyprus

    Cyprus Посетитель

    Joined:
    Feb 10, 2020
    Messages:
    64
    Best Answers:
    1
    Ratings:
    +29 / 7 / -0
    Код должен быть выше в nginx, чем location / {
    Code:
    location ~* ^/adres.html$ {
      return 404;
    }
     
    • Нравится Нравится x 1
  7. Pr00f

    Pr00f Бывалый

    Joined:
    Feb 4, 2019
    Messages:
    404
    Best Answers:
    0
    Ratings:
    +165 / 12 / -0
    это правило разве не очень жирное и неоптимальное? так же будут проверяться абсолютно все запросы регуляркой. лишняя нагрузка на сервер, в общем
    хотя, экономия на спичках, но все таки :D
     
    #7 Pr00f, Sep 28, 2020
    Last edited: Sep 28, 2020
    • Нравится Нравится x 1
Яндекс.Метрика