Назад | Перейти на главную страницу

Перенаправить страницу на 410, если соответствует определенному регулярному выражению в .htaccess

Первый раз использую .htaccess, поэтому я пришел сюда, чтобы получить небольшую помощь, поскольку в Интернете нет файла с информацией (или я просто не нахожу их: /).

Идея в том, что я хочу перенаправить ссылку, заканчивающуюся на /2/ или /3/ ... (число) в error410 страница.

Итак, я придумал это регулярное выражение, которое хорошо работает ^(.*?)\/(?!(?:404|410)$)\d+$

Тест здесь

И если я понимаю, как это работает, это правильное решение:

RewriteCond %{QUERY_STRING} ^(.*?)\/(?!(?:404|410)$)\d+$ [NC]
RewriteRule . - [G]

Как вы думаете, это сработает или нет? Я не хочу играть в волшебника-ученика ..

Он не будет работать. Вы проверяете паттерн против %{QUERY_STRING} переменная. Эта переменная хранит не содержимое URI, а параметры запроса, отправленные GET или POST.

Чтобы отправить GONE status используйте следующее правило:

RewriteEngine On
RewriteRule ^\d+/?$ - [G]