Я пытаюсь убить URL-адрес, поэтому в моем файле .htaccess
я помещаю:
Redirect 410 /my-path
Это работает.
Если я попытаюсь посетить:
https://www.example.com/my-path
Я получаю:
Gone
Запрошенный ресурс больше не доступен на этом сервере и нет адреса пересылки. Удалите все ссылки на этот ресурс.
Проблема в том, что это также влияет на все подпути, поэтому, если я попытаюсь посетить https://www.example.com/my-path/sub-path
, я также получу указанное выше "Gone " сообщение.
Как я могу убить только ОДИН конкретный путь к моему сайту с помощью 410?
Вместо этого вам нужно использовать директиву RedirectMatch
, которая соответствует регулярному выражению, а не префиксу:
RedirectMatch 410 ^/my-path/?$
Однако, если вы уже используете mod_rewrite для других перенаправлений / перезаписи, тогда вам, вероятно, следует использовать mod_rewrite вместо этого, чтобы избежать потенциальных конфликтов. Например, в верхней части файла .htaccess
:
RewriteRule ^my-path/?$ - [G]
G
- это ярлык для R = 410
.
Ссылка: