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

как ограничить доступ ко всем файлам .txt в apache, кроме robots.txt?

Я настраиваю apache2 на debian и хотел бы разрешить доступ только robots.txt для поисковых систем, в то время как другие файлы .txt ограничены, я попытался добавить следующее в .htaccess, но не повезло:

<Файлы robots.txt>
Заказать разрешить, запретить
Разрешить от всех
</Files>

<Файлы * .txt>
Заказ запретить, разрешить
Запретить от всех
</Files>

Может ли кто-нибудь помочь или подсказать? Я новичок в Apache, большое спасибо.

Используйте mod_rewrite

RewriteEngine On
RewriteCond %{REQUEST_URI} !/robots\.txt$ [nocase]
RewriteRule \.txt$  -  [forbidden,last]

Во-первых, убедитесь, что механизм перезаписи включен.

Затем используйте отрицательное совпадение (!), чтобы применить условие к RewriteRule который исключает любой URI, заканчивающийся на "/robots.txt"

Наконец, если URI заканчивается на «.txt», выдайте 403 Forbidden.

РЕДАКТИРОВАТЬ: не забывайте, что механизм сравнения использует регулярное выражение, поэтому вам нужно избегать специальных символов (т.е. .)