что делает строка в htaccess? - PullRequest
0 голосов
/ 24 марта 2011

У меня были проблемы с папкой img, в которой было запрещено 403, и я пришел к выводу, что проблема вызвана этой строкой .... что это делает

RewriteRule .*\.(jpg|jpeg|gif|png|bmp|pdf|exe|zip)$ - [F,NC]

и почему это может вызвать403 запрещено в папке /thing / img с изображениями

Ответы [ 2 ]

2 голосов
/ 24 марта 2011

RewriteRule .*\.(jpg|jpeg|gif|png|bmp|pdf|exe|zip)$ Соответствует любым именам файлов, содержащим любое количество символов, за которыми следует точка и одно из этих расширений файла.

- Сообщает mod_rewrite, что URL-адрес остается неизменным;технический уровень, используемый при показе запрещенной страницы 403.

[F,NC] F = Запрещено, NC = Нет дела;совпадение без учета регистра.

Скорее всего, это правило следует (или должно следовать) одному или нескольким RewriteCond с, что является условиями, при которых срабатывает RewriteRule.Цель правила, вероятно, заключалась в том, чтобы заблокировать изображения и другие файлы с горячей ссылкой .Без RewriteCond изображения всегда будут блокироваться.

Правильно разработанное правило для предотвращения хотлинкинга будет выглядеть примерно так:

# Only apply the rule if the referrer isn't empty...
RewriteCond %{HTTP_REFERER} !^$
# ... and doesn't match your site.
RewriteCond %{HTTP_REFERER} !\.?mysite.com/$
# Also, only apply the rule for the specified file types.
RewriteRule \.(jpg|jpeg|gif|png|bmp|pdf|exe|zip)$ - [F,NC]
2 голосов
/ 24 марта 2011

См. http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html
F = запрещено, вызывает 403 ошибки на всех URL, заканчивающихся одним из этих расширений.
NC = не регистр (т.е. также работает на .GIF, например.

...