Первый раз использую .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]