我已经尝试了几个小时,以防止我的静态资源被另一个站点热链接。但是我无法使其按预期工作。
我对网站的基本结构是这样:
托管在static.domain2.com上的静态资产
站点托管在domain1.com
这是static.domain2.com上的.htaccess文件
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule .* http://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule .* https://%1%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_REFERER} !^https://domain1.com/.*$ [NC]
RewriteRule .*\.(jpe?g|gif|bmp|png|swf|css|js|ico)$ - [F]
<Files .htaccess>
order allow,deny
deny from all
</Files>
Options All -Indexes
<IfModule mod_headers.c>
<FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
尽管进行了尝试,但我仍然能够从另一个域中热链接到一个CSS文件,这是不允许的。
我不确定是什么原因导致的,因此任何帮助都会对我有很大帮助。
谢谢。