我有一台 LAMP + Wordpress 服务器,仅通过 IP 地址访问。我不打算为该服务器获取域名。
我想知道如果我的服务器没有域名,是否可以防止资源被热链接?
现在我按照下面方式配置了我的 .htaccess,但它似乎不起作用。
IndexIgnore */*
php_flag zlib.output_compression Off
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.+.)?11.22.33.44/ [NC]
RewriteRule \.(zip|gif|jpg|js|css|png)$ - [F]
编辑以添加@JennyD:我检查了 access.log,但看不到引用者。
我的 apache2.conf 定义了一种名为“combined”的自定义日志格式:
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
在我的站点中,该指令使用“组合”访问日志格式:
CustomLog ${APACHE_LOG_DIR}/access.log combined
这是我的 access.log 显示的内容:
12.34.56.78 - - [04/Jun/2013:11:19:02 +0200] "GET /wordpress/wp-includes/images/admin-bar-sprite.png?d=20111130 HTTP/1.1" 304 187 "http://11.22.33.44/wordpress/wp-includes/css/admin-bar.css?ver=20111209" "Mozilla/5.0 (Windows NT 5.1; rv:21.0) Gecko/20100101 Firefox/21.0"
答案1
我不认为那(.+.)?
应该在那里。在工作配置中,我本应看到类似以下内容:
RewriteCond %{HTTP_REFERER} !^http://11.22.33.44/ [NC]