我知道你问已经几个月了,但如果你仍然需要解决方案,我找到了答案。试图找到它是如何完成几个小时的,但没有成功,所以我不得不想出自己的解决方案。Livememe 不使用 htaccess 进行重定向,而是使用 PHP 进行重定向。由于您看不到引荐来源网址的差异,因此无论图片是嵌入的,还是用户单击指向它的链接,您都必须检查其他内容。我看到的唯一区别是 HTTP_ACCEPT 标头。如果资源用作图像,它不会发送值为“text/html”的 HTTP_ACCEPT,它将是“image/jpeg”或类似的东西。所以你要做的是这样的:首先,用这个创建 .htaccess 文件:
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /redirect.php?q=$1 [L]
因此,如果未找到文件,则会加载 redrect.php(同时您的 URL 保持不变)。在redirect.php里面放这样的东西:
$accept = explode(',', $_SERVER['HTTP_ACCEPT']);
$file = $_GET['q'];
$file_info = pathinfo( $file );
$url = $file_info['filename'];
$ext = $file_info['extension'];
$check_html = array_search('text/html', $accept);
if ( file_exists("$url.html") ) {
if ($check_html !== FALSE) header("location: http://yourdmain.com/$url"); // location of URL you want to redirect to
else header("location: http://i.yourdomain.com/$url.$ext"); // loction of image file
}
else {
header('HTTP/1.0 404 Not Found');
print 'File not found';
}
根据您的服务器进行调整(file_exists() 部分)。或者您可以检查数据库,以查看是否存在此类帖子。好吧,我想你明白了,这是怎么做的。希望有帮助。