Php 使用htaccess阻止href到特定域

Php 使用htaccess阻止href到特定域,php,.htaccess,url-rewriting,url-redirection,Php,.htaccess,Url Rewriting,Url Redirection,我有一个php网站托管在LAMP环境中。 许多页面包含对somedomain.com的引用,如imagessrc。如果somedomain.com变得不可访问,我的站点将超时并出现错误500。 有没有办法阻止我的页面的所有somedomain.com请求,比如说使用.htaccess将它们重定向到本地主机?没有,这是不可能的,因为这些资源是由浏览器加载的,例如图像: <img src="somedomain.com/img/someimg.png" /> 一种可能的方法是使用PHP

我有一个php网站托管在LAMP环境中。 许多页面包含对somedomain.com的引用,如imagessrc。如果somedomain.com变得不可访问,我的站点将超时并出现错误500。
有没有办法阻止我的页面的所有somedomain.com请求,比如说使用.htaccess将它们重定向到本地主机?

没有,这是不可能的,因为这些资源是由浏览器加载的,例如图像:

<img src="somedomain.com/img/someimg.png" />
一种可能的方法是使用PHP脚本代理这些资源:

 <img src="myproxy.php?url=http://somedomain.com/img/someimg.png" />
看起来是这样的:

<?php
$content = file_get_contents(@$_GET['url']);

/*
 * There is an error
 */
if (!$content) {
    $content = file_get_contents('alternate_local_img.png');
} 

header('Content-Type: image/png');
echo $content;

可以通过扩展名/mime类型检测来改进它。

我不知道如何使用.htaccess文件来实现这一点。但是在php中,这很容易。只需请求somedomain.com的头并使用404上的if/else语句即可返回。有关更多信息,请参阅问题。这是不可能的,因为clientbrowser在加载这些图像时会调用somedomain.com。您的.htaccess只能为您的服务器管理连接。此问题有解决方案-在服务器上使用代理脚本。