Посоветуйте модуль для внешних ссылок

Главные вкладки

Аватар пользователя beepbooptodelete beepbooptodelete 25 мая 2011 в 12:31

Нужен модуль для создания страницы которая бы редиректила на страницу, адрес которой передан в get переменной или как аргумент адреса.
То есть вы к примеру переходите на ссылку go/http://example.com/page и с неё вас редиректит на http://example.com/page.

UPD:

<?php
/*  /away.php  */
if(!isset($_GET['to']))$_GET['to']='/';
header("Location: $_GET[to]",true,302);
exit;
?>

Комментарии

Аватар пользователя beepbooptodelete beepbooptodelete 25 мая 2011 в 13:04

"Cozmi" wrote:
можно написать. лс

Уже делаю, только не модуль, а php страницу:

<?php
//away.php
if(isset($_GET['to']))
  
header("Location: $_GET[to]");
else
  
header("Loaction: http://$HTTP_SERVER_VARS[HTTP_HOST]/");
?>

Только header("Loaction: http://$HTTP_SERVER_VARS[HTTP_HOST]/") никуда не редиректит. Пока-что ещё копаю.

Аватар пользователя beepbooptodelete beepbooptodelete 25 мая 2011 в 13:39

А как сделать, чтобы в ссылках типа /away.php?to=[field_url-raw] созданные через pathauto ? и = не преобразовывались в escape-последовательность?

В Punctuation settings для них ставлю No action но не помогает.

Аватар пользователя Zonder Zonder 19 августа 2011 в 2:59

"Айдар" wrote:
External Link Page не подходит?

Отличный модуль. Однако если в урл есть русские символы - выдает ошибку. Никто не знает как с этим бороться? Проблема похоже с функцией valid_url

Аватар пользователя Айдар Айдар 19 августа 2011 в 15:01

Возможно. У меня этот модуль работает в связке с Extlink - эффект от сылок на домены в зоне .рф - просто отображается текст ссылки, т.е. ссылка неактивна.
Да, кстати, во втором модуле проблема русских ссылок вообще не решалась.

Аватар пользователя Zonder Zonder 19 августа 2011 в 15:19

Я так понимаю надо что-то помудрить с функцией valid_url, только не совсем догоняю что. Именно с помощью нее проверяется валидность url.

Аватар пользователя Айдар Айдар 19 августа 2011 в 15:36

Я, когда полез в файлы модуля, пытался найти некий массив для валидации (наличие http:// или зон урлов), но безуспешно. В остальном на php-код смотрю как осел.

Аватар пользователя Zonder Zonder 19 августа 2011 в 17:28

Насколько я понимаю, это происходит вот в этой строчке:

  if (valid_url($url, TRUE)) {

Функция дергается из ядра друпала описана тут:
http://api.drupal.ru/api/function/valid_url/5

Если исправить строчку на

  if ($url) {

то все работает, но уже без валидации

Аватар пользователя Zonder Zonder 19 августа 2011 в 18:16

"Айдар" wrote:
Только голова моя не вкуривает - чем это грозит?
Не знаю Smile
Я пока убрал, буду смотреть на живую вылетит ли какой глюк.
Пока вроде бы все ок.