htaccess, чтобы разрешить загрузку из определенного пользовательского агента и HTTP Referrer
Я хочу разрешить загрузку некоторых файлов, если только пользовательский агент или реферер соответствуют следующим
Это пользовательские агенты uTorrent Bittorrent Transmission
Это http реферер www.niresh12495.com
Я пытаюсь следующий код, но показывает ошибку 500
RewriteCond %{HTTP_USER_AGENT} !^(*uTorrent*|*BitTorrent*|*Transmission*) [NC,OR]
RewriteCond %{HTTP_REFERER} !^http://niresh12495.com/.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} !^http://niresh12495.com$ [NC,OR]
RewriteCond %{HTTP_REFERER} !^http://www.niresh12495.com/.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} !^http://www.niresh12495.com$ [NC,OR]
RewriteRule ^*\.(dmg|torrent|pkg|rar|exe|zip|jpeg|jpg|gif|png|bmp|mp3|flv|swf|png|css|pdf|mpg|mp4|mov|wav|wmv|swf|css|js|iso)$ http://www.niresh12495.com [R,F,NC]
Где я не прав?
1 ответ
Есть несколько проблем.
В ваших регулярных выражениях есть синтаксические ошибки. Вы используете
*
как подстановочный символ оболочки, но в регулярных выражениях он имеет другое значение: он только изменяет другой символ, обозначая "0 или более вхождений". То, что вы, вероятно, хотите.*
, что означает "0 или более вхождений любого символа". Но вам это даже не нужно, если вы удалите начальный тег привязки^
,Ваш последний RewriteCond заканчивается
OR
флаг, который, вероятно, недействителен, так как никакой другой RewriteCond не следует за ним.Я думаю, что ваша условная логика неверна. У вас сейчас есть
не (uTorrent или BitTorrent или передача) ИЛИ не niresh12495.com ИЛИ не www,.niresh12495.com
но я думаю ты хочешь
не (uTorrent или BitTorrent или передача) И не niresh12495.com И не www.niresh12495.com
Поэтому я думаю, что вы хотите что-то еще, как это:
RewriteCond %{HTTP_USER_AGENT} !(uTorrent|BitTorrent|Transmission) [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.|)niresh12495.com(/|$) [NC]
RewriteRule .*\.(dmg|torrent|pkg|rar|exe|zip|jpeg|jpg|gif|png|bmp|mp3|flv|swf|png|css|pdf|mpg|mp4|mov|wav|wmv|swf|css|js|iso)$ http://www.niresh12495.com [R,F,NC]