2013-12-21 3 views
1

Я хочу, чтобы заблокировать файл config.json от доступа, поэтому я ставлю .htaccess файл так:не может блокировать доступ к файлу с помощью HTAccess

RewriteEngine on 

RewriteRule config.json - [F] 

В каталоге ~/projects/bush но когда я достигаю localhost/projects/bush/config.json я до сих пор вижу содержимое файла, что здесь не так?

+2

Делайте ли файлы .htaccess иначе в других контекстах? На уровне сервера необходимо разрешить 'AllowOverride', чтобы включить их на уровне каталога ... –

+0

Это не влияет на ваш прецедент, но' .' следует экранировать как 'config \ .json' - в противном случае соответствует любому символу, поэтому, если у вас есть допустимый файл 'configxjson', который также будет заблокирован вашим правилом. Просто хорошая практика. –

ответ

1

Проверьте конфигурацию веб-сервера (httpd.conf) на AllowOverride None, поскольку она отключает чтение .htaccess для каталогов, к которым она относится. Это часто делается для повышения производительности.

+0

Да, это он, нашел его, прежде чем я увижу ответ, у меня нет в '/ etc/apache2/sites-available/default' и измените его на' AllowOverride All' – jcubic

0

попробовать:

RewriteRule ^/?config\.json$ - [F,L] 

Это, вероятно, будет работать.

Смежные вопросы