我的.htaccess文件中的以下代码出了问题:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(tv\.)?my-domain\.com:16500 [NC]
RewriteCond %{HTTP_REFERER} !^http://(tv\.)?my-domain\.com:16500.*$ [NC]
RewriteRule \.(gif|jpg|js|txt|mp4|mp3)$ /redirect/error.mp4 [L]因此,这段代码所做的是,它只允许只有 tv.my-domain.com:16500可以流到.htaccess所在文件夹中的内容。
这一切都很好,但是,如果我想要向允许访问文件的HTTP引用列表中添加IP地址(以及域的现有规则),我必须做什么呢?
此代码不起作用:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(tv\.)?my-domain\.com:16500 [NC]
RewriteCond %{HTTP_REFERER} !^http://(tv\.)?my-domain\.com:16500.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://?10.0.0.2:16500 [NC]
RewriteCond %{HTTP_REFERER} !^http://?10.0.0.2:16500.*$ [NC]
RewriteRule \.(gif|jpg|js|txt|mp4|mp3)$ /redirect/error.mp4 [L]那么,谁能告诉我怎样做才是正确的呢?
提前谢谢你!
发布于 2017-08-29 14:25:51
这是因为IP地址需要使用%{REMOTE_ADDR}而不是%{HTTP_REFERER}。
所以语法应该是这样的:
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$当然,在测试之前,一定要清除缓存。
https://stackoverflow.com/questions/45941266
复制相似问题