【背景】
在网站搬家:
【记录】将网站crifan.com从老鹰主机hawkhost搬家到糖果主机SugarHosts
期间的:
【记录】为WordPress网站crifan.com的更新SQL数据库文件
后,结果自己网站上面的图片,竟然显示出防盗链了。
【解决过程】
1.那是因为我之前添加了防盗链:
【记录】给crifan.com网站设置图片防盗链 | 在路上
此处是IP地址,不是www.crifan.com开头,所以显示盗链,等DNS生效以后,
即使修改防盗链规则,把IP加上,即可正常显示图片了。
2.那索性现在就去更新IP,修改.htacess,改为:
#Hotlink Protection RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^.+?crifan\.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?108\.166\.216\.250/.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?google.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?baidu.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?sogou.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?yahoo.*$ [NC] RewriteRule \.(jpg|png)$ https://www.crifan.com/files/res/crifan_com/stealingisbad.gif[R,L]
更新后,再去通过IP访问主页,看看图片是否可以正常显示。
结果还是防盗链的:
2.发现好像正则写的有问题:
!^.+?108\.166\.216\.250/.*$
好像该改为:
!^.*?108\.166\.216\.250/.*$
即:
#Hotlink Protection RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^.+?crifan\.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^.*?108\.166\.216\.250/.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?google.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?baidu.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?sogou.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?yahoo.*$ [NC] RewriteRule \.(jpg|png)$ https://www.crifan.com/files/res/crifan_com/stealingisbad.gif[R,L]
但结果依旧是防盗链。。。
3.再改为:
#Hotlink Protection RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^.+?crifan\.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^108\.166\.216\.250/.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?google.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?baidu.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?sogou.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?yahoo.*$ [NC] RewriteRule \.(jpg|png)$ https://www.crifan.com/files/res/crifan_com/stealingisbad.gif [R,L]
还不行。
4.但是此刻,才想起来:
我修改的是新服务器sugarhosts上面的.htacess文件
而访问图片却是www.crifan.com/上面的,即旧服务器hawk上面的。。。
所以,应该是去修改hawk上面的那个.htaccess才对。。。
晕死。。。。
5.果然,去新的虚拟主机服务器,Sugarhosts上面的,把配置改为上面的:
#Hotlink Protection RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^.+?crifan\.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^.*?108\.166\.216\.250/.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?google.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?baidu.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?sogou.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?yahoo.*$ [NC] RewriteRule \.(jpg|png)$ https://www.crifan.com/files/res/crifan_com/stealingisbad.gif[R,L]
后,Ctrl+F5强制刷新网站页面后,图片即可正常显示:
【总结】
最终,保留这个配置:
#Hotlink Protection RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^.+?crifan\.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^.*?108\.166\.216\.250/?.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?google.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?baidu.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?sogou.*$ [NC] RewriteCond %{HTTP_REFERER} !^.+?yahoo.*$ [NC] RewriteRule \.(jpg|png)$ https://www.crifan.com/files/res/crifan_com/stealingisbad.gif[R,L]
以便支持IP地址访问:
其中IP最后可以有斜杠,也可以没有。
IP前面可以有其他,也可以没有:实际上是没有。
至此,就折腾到这。
转载请注明:在路上 » 【已解决】网站搬家后自己网站的图片显示防盗链