13.10.2009, 11:51
общий
это ответ
Здравствуйте, Anjali.
вот функция, проверяющая ссылку:
<?php
function check_url($url) {
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_HEADER, 1); // get the header
curl_setopt($c, CURLOPT_NOBODY, 1); // and *only* get the header
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); // get the response as a string from curl_exec(), rather than echoing it
curl_setopt($c, CURLOPT_FRESH_CONNECT, 1); // don't use a cached version of the url
if (!curl_exec($c)) { return false; }
$httpcode = curl_getinfo($c, CURLINFO_HTTP_CODE);
return ($httpcode < 400);
}
?>
Вы должны будете вместо ссылки на ресурс указывать ссылку на свой скрипт, который, проверив нужную ссылку, перенаправляет клиента на неё или берёт другую ссылку.
Пример кода в приложении
Приложение:
<?php
function check_url($url) {
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_HEADER, 1); // get the header
curl_setopt($c, CURLOPT_NOBODY, 1); // and *only* get the header
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); // get the response as a string from curl_exec(), rather than echoing it
curl_setopt($c, CURLOPT_FRESH_CONNECT, 1); // don't use a cached version of the url
if (!curl_exec($c)) { return false; }
$httpcode = curl_getinfo($c, CURLINFO_HTTP_CODE);
return ($httpcode < 400);
} ;
$urls = array ( "http://www.genling.nw.ru" , "http://www.genlingnw.ru" );
foreach ($urls AS $url) {
if (check_url($url)) {
header("Location: $url");
exit;
};
};
?>
5
Такое решение показалось наиболее оптимальным и более понятным.