Apache 410 URL без влияния на подпути

Я пытаюсь убить URL-адрес, поэтому в моем файле .htaccess я помещаю:

Redirect    410 /my-path

Это работает.

Если я попытаюсь посетить:

https://www.example.com/my-path

Я получаю:

Gone
Запрошенный ресурс больше не доступен на этом сервере и нет адреса пересылки. Удалите все ссылки на этот ресурс.

Проблема в том, что это также влияет на все подпути, поэтому, если я попытаюсь посетить https://www.example.com/my-path/sub-path , я также получу указанное выше "Gone " сообщение.

Как я могу убить только ОДИН конкретный путь к моему сайту с помощью 410?

0
задан 29 April 2021 в 00:59
1 ответ

Вместо этого вам нужно использовать директиву RedirectMatch , которая соответствует регулярному выражению, а не префиксу:

RedirectMatch 410 ^/my-path/?$

Однако, если вы уже используете mod_rewrite для других перенаправлений / перезаписи, тогда вам, вероятно, следует использовать mod_rewrite вместо этого, чтобы избежать потенциальных конфликтов. Например, в верхней части файла .htaccess :

RewriteRule ^my-path/?$ - [G]

G - это ярлык для R = 410 .

Ссылка:

1
ответ дан 7 May 2021 в 19:59

Теги

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