Вы не зашли.
Страницы 1
Тема закрыта
Проще говоря, нужно, чтобы ссылки вида http://gmail.com можно было превратить в http://mysite.ru/goto?gmail.com, например.
Как можно организовать такое на NG? Юзал поиск, подобной темы не нашел…
информационное агентство ПИА ЗЕВ, гид по Санкт-Петербургу, я в ЖЖ
icq 24550девять
Не в сети
$outkeys [] = 'href="'.$urlREF.'"';
Замени на
$chek_url = parse_url($keys['href']); if ($chek_url['host'] != 'site.ru') $outkeys [] = 'href="http://site.ru/go.php?'.$urlREF.'"'; else $outkeys [] = 'href="'.$urlREF.'"';
Остальное всё как там...
P.S. Не проверял...:rolleyes:
ссылка на 2з-прожект уже не работает, после замены в parse.class.php что дальше делать?
информационное агентство ПИА ЗЕВ, гид по Санкт-Петербургу, я в ЖЖ
icq 24550девять
Не в сети
Только вот 2z-project сайт уже не работает
информационное агентство ПИА ЗЕВ, гид по Санкт-Петербургу, я в ЖЖ
icq 24550девять
Не в сети
Короче, может пригодится кому-нибудь:
Файл go.php:
<?
$site = $_GET['site'];
Header (”Location:”.$site.”");
exit();
?>
Заливаем файл go.php в корень, закрываем в файле robots.txt индексацию файла go.php:
User-agent: *
Disallow: /go.php
Теперь, чтобы сделать внешнюю ссылку внутренней:
http://my-site.ru/go.php?site=http://yandex.ru
Вышеперечисленные замены строк в parse.class.php делать в общем-то нахрен не нужно.
информационное агентство ПИА ЗЕВ, гид по Санкт-Петербургу, я в ЖЖ
icq 24550девять
Не в сети
Короче, может пригодится кому-нибудь:
Файл go.php:
<?
$site = $_GET['site'];
Header (”Location:”.$site.”");
exit();
?>Заливаем файл go.php в корень, закрываем в файле robots.txt индексацию файла go.php:
User-agent: *
Disallow: /go.phpТеперь, чтобы сделать внешнюю ссылку внутренней:
http://my-site.ru/go.php?site=http://yandex.ruВышеперечисленные замены строк в parse.class.php делать в общем-то нахрен не нужно.
Попробовал в ручном режиме - не пашет - "внутенняя ошибка сервера 500"
Что можно предполжить?
Не в сети
Neo,
parse.class.php ~324 перед
// Now let's compose a resulting URL
$outkeys [] = 'href="'.$urlREF.'"';
вставь
$check_url = parse_url($keys['href']);
if ($check_url['host'] != $_SERVER['HTTP_HOST']) $urlREF = home.'/go.php?url='.rawurlencode(base64_encode($urlREF));
содержимое go.php:
<?php
//
// Next Generation CMS (http://ngcms.ru/)
// Name: go.class.php
// Description: Redirect URL
//
function reset_url($url) {
$value = str_replace ( "http://", "", $url );
$value = str_replace ( "www.", "", $value );
$value = explode ( "/", $value );
$value = reset ( $value );
return $value;
}
$url = rawurldecode ( $_GET['url'] );
$url = @base64_decode ( $url );
$url = str_replace ( "&", "&", $url );
$_SERVER['HTTP_REFERER'] = reset_url ( $_SERVER['HTTP_REFERER'] );
$_SERVER['HTTP_HOST'] = reset_url ( $_SERVER['HTTP_HOST'] );
if (($_SERVER['HTTP_HOST'] != $_SERVER['HTTP_REFERER']) or $url == "") {
@header ( 'Location: /' );
die ('Access denied!!!<br /><br />Please visit <a href="/">'.$_SERVER['HTTP_HOST'].'</a>');
}
@header ( 'Location: '.$url);
die ('Link Redirect:<br /><br />Please click <a href=".'$url.'">here.</a>');
?>
Изменено KhadeR (2010-12-19 13:06:09)
Не в сети
После установки данного кода,ссылки не опридилялись,как будто пропал href
Не в сети
Кароче находишь:
// Now let's compose a resulting URL
$outkeys [] = 'href="'.$urlREF.'"';
Меняешь на:
if(substr($urlREF,0,5) !='http:' && substr($urlREF,0,4) !='ftp:') {
$urlREF = 'http://'.trim($urlREF);
}
if(substr($keys['href'],0,5) !='http:' && substr($keys['href'],0,4) !='ftp:') {
$keys['href'] = 'http://'.trim($keys['href']);
}
// Now let's compose a resulting URL
// $chek_url = parse_url($keys['href']);
preg_match("/^(http:\/\/)?([^\/]+)/i", $keys['href'], $chek_url);
preg_match("/^(http:\/\/)?([^\/]+)/i", $config['home_url'], $config_url);
if ($chek_url['2'] == $config_url['2']) {
$outkeys [] = 'href="'.$urlREF.'"';
} else {
$outkeys [] = 'href="'.$config['home_url'].'/go.php?url='.$urlREF.'"';
}
После находишь:
// Fill an output replacing array
array_push($rdest, "<a ".(implode(" ", $outkeys)).">".$alt.'</a>');
И изменяешь:
// Fill an output replacing array
if ($chek_url['2'] == $config_url['2']) {
array_push($rdest, "<a ".(implode(" ", $outkeys)).">".$alt.'</a>');
} else {
array_push($rdest, "<noindex><nofollow><a ".(implode(" ", $outkeys))." rel=\"nofollow\">".$alt.'</a></noindex></nofollow>');
}
В корне создаешь файл go.php с вот таким содержимым:
<?php
$url = isset($_REQUEST['url']) ? $_REQUEST['url'] : '';
if(preg_match('#(https?|ftp)://\S+[^\s.,>)\];\'\"!?]#i',$url)){
sleep(1);
header("Location: ".$url);
die();
}
И не еб*** мозг...
Делал в виде плагина и вроде выкладывал год назад...
Изменено ROZARD (2010-12-20 22:47:50)
xmpp://ngcms@conf.ngcms.ru
Настройка клиента для подключения к конференции
Не в сети
Не работает ни один из вариантов go.php мне надо пока без парсера ссылок запустить в варианте greenpiss
чтобы ручками прописать в HTML http://my-site.ru/go.php?site=http://yandex.ru.
t.k. использую тини редактор.
Изменено Neo (2010-12-22 05:28:37)
Не в сети
Neo, отписался в ЛС.
информационное агентство ПИА ЗЕВ, гид по Санкт-Петербургу, я в ЖЖ
icq 24550девять
Не в сети
Страницы 1
Тема закрыта