Файл .htaccess: можно ли указать местоположение подкаталога для правил?

0

Мой старый веб-сайт был создан с помощью handcoding HTML и имеет структуру каталогов:

public_html
   .htaccess
   index.html
   ...
   content_folder
   docs_folder
      .htaccess
      doc1.html
      doc2.html
      doc3.html
   ...

Мой новый веб-сайт создан с использованием CMS, который хранит свои веб-страницы в базе данных, и поэтому нет традиционной структуры каталогов веб-сайтов, подобной приведенной выше.

public_html/docs_folder/.htaccess содержит следующие правила:

# Only permit access from links coming from my website (e.g.http://www.mydomain.com).
SetEnvIf Referer http://www.mydomain.com internal 
<Files *> 
   order Deny,Allow 
   Deny from all 
   Allow from env=internal 
</Files> 

Поскольку на новом веб-сайте нет структуры каталогов, мне интересно, могу ли я включить правила public_html/docs_folder/.htaccess выше, которые применимы только к веб-страницам в каталоге docs_folder (и веб-страницах в любых подкаталогах) внутри public_html/.htaccess.

Есть ли атрибут <location> или другие средства для включения правила в файл .htaccess но если он применяется к подкаталогу, а не к текущему каталогу, в котором находится файл .htaccess?

Может ли кто-нибудь привести пример, используя правило выше?

Кроме того, используется ли <Files *> для всех файлов (.html,.pdf,.css и т.д.)? Я так надеюсь.

Теги:
.htaccess

1 ответ

1
Лучший ответ

Попробуйте добавить это в файл htaccess в корневой каталог:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^https?://yourdomain\.com [NC]
RewriteRule ^docs_folder/ - [L,F]

Вам нужно будет удалить файл htaccess в папке /docs_folder/

  • 0
    Спасибо, но это правило выглядит иначе. Можете ли вы объяснить, что он делает? Я хочу заблокировать доступ к любому файлу в public_html/docs_folder кроме ссылок, исходящих с моего сайта. Не уверен, как это помогает. Существует гораздо больше каталогов, чем показано выше (это только пример).
  • 0
    @ggkmath не совсем понял, что вы хотели, изменил правила на основе вашего комментария
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню