Jump to content

Перенаправление на страницу при переходе по внешней ссылке

Featured Replies

Posted
comment_60102

Поискал в поиске но не нашел.

Как сделать так, чтобы при переходе выкидывало на страницу (например __мой форум.ру/go) на которой будет написан определенный текст и после того как пользователь повторно нажмет на ссылку осуществится переход

Пример:

post-17870-0-91644100-1396264709_thumb.p

comment_60120

файл admin/sources/classes/text/parser/bbcode.php

находим

$replace = "<a href='{$url}' class='bbc_url' title='{$_title}'{$rel}>{$text}</a>";

меняем на

if(stristr( $data['host'], $_SERVER['HTTP_HOST'])) {
$replace = "<a href='{$url}' class='bbc_url' target='_blank' title='{$_title}'>{$text}</a>";
}else{
$replace = "<!--noindex--><a href='/go/?{$url}' class='bbc_url' target='_blank' title='{$_title}'{$rel}>{$text}</a><!--/noindex-->";
}

создаем папку /go в корне

 

куда кладем файл index.php с таким вот, примерно (взял свое)содержанием



<?
$ref = $_SERVER['QUERY_STRING'];
$back =  $_SERVER['HTTP_REFERER'];
?>
<div style="padding:20px 180px; font-size:14px; font-family:Tahoma; line-height:200%">
<h2>HomeMasters.Ru  | Переход по внешней ссылке</h2>

Вы собираетесь перейти по внешней ссылке, которая не относится к порталу "HomeMasters.Ru ".<br>
Администрация проекта  не несет ответственности за содержимое сайта&nbsp;<b><?php echo $ref;?></b>&nbsp;и рекомендует не указывать никаких своих данных, имеющих отношение к&nbsp;HomeMasters.Ru&nbsp;(особенно e-mail, пароль или свой ID), на сторонних сайтах. Настоятельно рекомендуем Вам внимательно относиться к неизвестным ссылкам на посторонние ресурсы, чтобы избежать инфицирования Вашего компьютера вредоносными программами и потери важных данных.<br>
Если Вы не хотите подвергать риску Ваш аккаунт и компьютер, нажмите <a href="<?php echo $back;?>">отмена</a> <br>
Чтобы продолжить переход нажмите на ссылку &nbsp;<a href="<?php echo $ref;?>"><?php echo $ref;?></a>&nbsp; <br>
Сообщите нам, если ссылка носит рекламный характер или является спамом.


</div>

Edited by kgb

  • Author
comment_60154

 

файл admin/sources/classes/text/parser/bbcode.php

находим

$replace = "<a href='{$url}' class='bbc_url' title='{$_title}'{$rel}>{$text}</a>";

меняем на

if(stristr( $data['host'], $_SERVER['HTTP_HOST'])) {
$replace = "<a href='{$url}' class='bbc_url' target='_blank' title='{$_title}'>{$text}</a>";
}else{
$replace = "<!--noindex--><a href='/go/?{$url}' class='bbc_url' target='_blank' title='{$_title}'{$rel}>{$text}</a><!--/noindex-->";
}

создаем папку /go в корне

 

куда кладем файл index.php с таким вот, примерно (взял свое)содержанием



<?
$ref = $_SERVER['QUERY_STRING'];
$back =  $_SERVER['HTTP_REFERER'];
?>
<div style="padding:20px 180px; font-size:14px; font-family:Tahoma; line-height:200%">
<h2>HomeMasters.Ru  | Переход по внешней ссылке</h2>

Вы собираетесь перейти по внешней ссылке, которая не относится к порталу "HomeMasters.Ru ".<br>
Администрация проекта  не несет ответственности за содержимое сайта&nbsp;<b><?php echo $ref;?></b>&nbsp;и рекомендует не указывать никаких своих данных, имеющих отношение к&nbsp;HomeMasters.Ru&nbsp;(особенно e-mail, пароль или свой ID), на сторонних сайтах. Настоятельно рекомендуем Вам внимательно относиться к неизвестным ссылкам на посторонние ресурсы, чтобы избежать инфицирования Вашего компьютера вредоносными программами и потери важных данных.<br>
Если Вы не хотите подвергать риску Ваш аккаунт и компьютер, нажмите <a href="<?php echo $back;?>">отмена</a> <br>
Чтобы продолжить переход нажмите на ссылку &nbsp;<a href="<?php echo $ref;?>"><?php echo $ref;?></a>&nbsp; <br>
Сообщите нам, если ссылка носит рекламный характер или является спамом.


</div>

Все сделал по Вашей инструкции. Но ничего не выдает!

Куда посмотреть?

comment_60155


Все сделал по Вашей инструкции. Но ничего не выдает! Куда посмотреть?
я папки go в корне сайта не вижу
comment_60160

может не там создал?

вообще то корень как правило располагается в public_html

 

по любому папки go нет

post-9975-0-33236600-1396281609_thumb.jp

  • Author
comment_60163

cделал все в public_html

так же никуда не перенаправляет! но если вручную перейти по адресу вот такое выдает!

post-17870-0-09676100-1396282011_thumb.p

Edited by Mishaha

comment_60170

Во первых, все работает. Видно по скрину, смотри нижнюю строку броузера.

post-9975-0-30004200-1396282892_thumb.jp

 

 

во-вторых, удали нахрен из index.php ,  который в паке go вот это

 

либо замени на ту кодировку, которая на  сервере.

utf-8 ? значит <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

а вообще лучше удали, если не понимаешь для чего это.

 

в третих, если действительно utf-8 то сохрани и сам файл в utf-8

 

ну и четвертых, удали мой аккаунт у себя на форуме, он мне там не нужен. Ник тот же что и здесь

  • Author
comment_60173

Cпасибо за помощь!
Сейчас действительно переходит.

 вопрос, как сделать эту страницу под дизайн форума как на скрине в первом посту!

Edited by Mishaha

comment_60176


 вопрос, как сделать эту страницу под дизайн форума как на скрине в первом посту!

при таких вопросах возникает встречный - а зачем?

Самый простой вариант - жмем ctrl + u, копируем код, удаляем все лишнее и вставляем в эту страницу.

 

Вариант посложнее (скопипастено)

 

 

 

ногда на форуме требуется создание индивидуальных статических страниц, сохраняя оформление форума. Для этого советуют использовать (DP31) Custom Pages или IP.Content. Это оправдано, когда пользовательские страницы необходимо в определенном количестве. Для одной одной или двух страниц, покупать IP.Content или разбирается с (DP31) Custom Pages не совсем оправданно.

Есть два способа быстрого создания таких страничек. Правильный способ, через регистрацию своего приложения через административную панель но есть другой "неправильный" способ. Быстрый и простой.
Для начала рассмотрим неправильный способ.

Стоит задача сделать свою страницу по адресу "ваш форум/MyCustomPage/". Создаем папку MyCustomPage. В папку кладем файл, например index.php со следующим содержанием:

<?php
define( 'IPB_THIS_SCRIPT', 'public' );
require_once( '../initdata.php' );

require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );

$registry = ipsRegistry::instance();
$registry->init();
$registry->output->setTitle('Ваше название');
$registry->output->addContent('Ваш контент');
$registry->output->sendOutput();
?>


'Ваш контент' - содержание вашей страницы. Здесь может быть любой текст или простой html код. Главное что бы в нем не присутствовала одиночная кавычка ( ' ).

Если код html сложный, используется пользовательский CSS и javascript, то в $registry->output->addContent('Ваш контент') меняем 'Ваш контент' на переменную $content.
$content может содержать массив, результат из базы данных или другие данные.

Получаем следующий пример.

<?php

define( 'IPB_THIS_SCRIPT', 'public' );
require_once( '../initdata.php' );

require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );

$content = <<<BLK

Ваш контент

BLK;

$registry = ipsRegistry::instance();
$registry->init();
$registry->output->setTitle('Название');
$registry->output->addContent($content);
$registry->output->sendOutput();
?>


Здесь $content информация которая находится в блоге между BLK.

Ваша первая "Пользовательские страница" на IP.Board 3 готова. Осталось поместить ее в меню: Добавление своих ссылок в верхнее меню форума IPB 3.0

Важно: ссылка на вашу страницу, должна быть полной. Если вы создали файл index.php в папке MyCustomPage, то короткая ссылка "ваш форум/MyCustomPage/" вызовет ошибку. А ссылка "ваш форум/MyCustomPage/index.php" откроет нужную страницу.

Название папки и имя файла может быть произвольным.

но даже эта инструкция потребует доработки

  • 4 недели спустя...
  • Author
comment_62012

Первая часть >тут

 

так сказать тема раскрыта не до конца.

а именно, нам нужно оформить страницу при переходе под дизайн форума.

 

Можно ли совместить все это и реализовать например через Старинцы v1.1.0?

У кого какие мысли?

 

вот ссылка где я это вообще увидел

__vse.kz/go/index.php?AxYAE2MSsz9Y

может по ней будет понятно что нужно!

 

  • 3 недели спустя...
comment_63148

Может в 3.3.3 по другому?

А,ну если версия ниже 3.4 , тогда да, возможно данная папка отсутствует,или располагается по другмоу адресу.
comment_63151

HooLIGUN,ясно, спасибо.

 

Может кто знает как сделать в 3.3.3?

Если только хуком,но это немного другое...

'?do=embed' frameborder='0' data-embedContent>>

comment_63152

Если только хуком,но это немного другое...

'?do=embed' frameborder='0' data-embedContent>>

Видел данный хук... Но хотелось бы именно данный способ, с отдельной страницей. Папки text в моей версии нет, поиск не дал результата.

comment_63355


Может кто знает как сделать в 3.3.3? 
В данной версии нет папки text

В Вашем случае править нужно файл 

adminsourcesclassesbbcodecustomdefaults.php

никому не интересна данная функция?

Вам выше написали, если нужно, то вытаскивайте код

comment_63377


В Вашем случае править нужно файл 

А что именно там править? Того что написано в шапке там нет...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.