X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Header ("Location: $url"), проблема с доменами .рф
Дилетант_mw
Дилетант_mw
Topic Starter сообщение 14.2.2011, 14:54; Ответить: Дилетант_mw
Сообщение #1


Здравствуйте, уважаемые специалисты.

Есть модуль, описание здесь http://www.masterweb...?showtopic=7997

Не открываются сайты зоны .рф Пример:

http://www.mysite.ru/go.php?url=http://президент.рф

Текст go.php
<?php
$url =  isset($_GET['url']) ? $_SERVER['QUERY_STRING'] : 'index.php';
if($url != 'index.php') $url = substr($url, 4);
if ($url) { header ("Location: $url"); }
?>


Прошу помочь дилетанту.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 14.2.2011, 22:35; Ответить: ZiTosS
Сообщение #2


Дилетант, по этой причине используем на форуме meta refresh. Дополнительно приходится выполнять преобразования закодированных символов при передаче в GET-запросе обратно в кириллицу:
[php]<?php

$url = substr($_SERVER['QUERY_STRING'], 4); // получаем ссылку
$url = explode("/", $url); // разбиваем ссылку по слешу
$url[2] = rawurldecode($url[2]); // это у нас домен, декодируем русские символы
$url = implode("/",$url); // соединяем обратно

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="refresh" content="0;<?php echo $url?>">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Перенаправление</title>
</head>
<body>
</body>
</html>[/php]
Но скажу сразу, данный способ перенаправления съедает якоря из ссылок. Пробовал через заголовки location этот же метод, не прокатывает. Он обратно кодирует русские символы.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Дилетант_mw
Дилетант_mw
Topic Starter сообщение 16.2.2011, 13:30; Ответить: Дилетант_mw
Сообщение #3


ZiTosS, мне только нужно вот что, если в домене есть .рф, то декодируем, иначе все как обычно.

УРЛ будет только типа президент.рф, иванов.рф, налог.рф и т.д.

Т.е.
<?php
$url =  isset($_GET['url']) ? $_SERVER['QUERY_STRING'] : 'index.php';
if($url != 'index.php') $url = substr($url, 4);

Если в УРЛ есть рф, то декодируем.

if ($url) { header ("Location: $url"); }
?>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Дилетант_mw
Дилетант_mw
Topic Starter сообщение 16.2.2011, 21:01; Ответить: Дилетант_mw
Сообщение #4


(splint @ 16.2.2011, 17:17) *
Дилетант спасибо!

За что?

ZiTosS , напиши, пожалуйста код, для:

Если в УРЛ есть рф, то декодируем.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 17.2.2011, 18:07; Ответить: ZiTosS
Сообщение #5


Дилетант, хех, в том-то вся и беда, что проверить наличие чисто .рф нельзя, все русские символы преобразуются в 16-тиричное представление формата %XX. Конечно можно сравнить по ASCII, но зачем?

Функция rawurldecode (urldecode) - декодирует строку, т.е. заменяет все спецсимволы в URL и все %XX обратно на их реальные значения. Т.о. функция никоим образом не затронет домены на английском. Чем вас этот вариант не устраивает?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Дилетант_mw
Дилетант_mw
Topic Starter сообщение 17.2.2011, 18:32; Ответить: Дилетант_mw
Сообщение #6


ZiTosS, так как у меня будет выглядеть мой скрипт GO.php, который приведен в первом посте,

чтобы президент.рф открывался?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 17.2.2011, 19:21; Ответить: ZiTosS
Сообщение #7


Я же вам написал всё, файл go.php вида здесь:
http://www.masterwebs.ru/index.php?s=&...ost&p=53507

Только оговорился, что перенаправление с meta refresh съедает якоря, то есть:
http://site.ru/file.html#anchor - было
http://site.ru/file.html - стало

В остальном скрипт работает.


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Дилетант_mw
Дилетант_mw
Topic Starter сообщение 18.2.2011, 12:50; Ответить: Дилетант_mw
Сообщение #8


(ZiTosS @ 17.2.2011, 18:21) *
Только оговорился, что перенаправление с meta refresh съедает якоря ...

А через Location никак не сделать? Мне якоря нужны.

А вот ссылки с .рф это уже экзотика. Значит не судьба. Буду пользовать старый скрипт с Location.

Спасибо, ZiTosS, за помощь.

Может как-то всё-таки через Location получиться. Если нет, то закрывайте тему.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Англоязычный SEO-копирайтинг от $3/100 слов от NeedmyLink | Первая статья бесплатно
5 Needmylink1 1470 Вчера, 16:01
автор: Needmylink1
Открытая тема (нет новых ответов) [dont.farm] Облачные Аккаунты Facebook |ЛЮБОЕ ГЕО | От 149$+
15 dontfarm 6520 23.4.2024, 21:03
автор: 100ftd
Горячая тема (нет новых ответов) Вечные ссылки с 300+ СДЛов, тиц до 750, ЯКи, DMOZ, от 1$/ссылка
вечные ссылки
259 SeoUaSales 129363 30.3.2024, 18:27
автор: Hillel_Silver
Открытая тема (нет новых ответов) Продвижение сайтов крауд-постами (от 0,97$ публ.)
1 toplinks 1019 18.3.2024, 15:12
автор: toplinks
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыКто и зачем покупает картинки обезьян по $200 тысяч?
NFT
167 metvekot 27447 6.3.2024, 21:58
автор: Boymaster


 



RSS Текстовая версия Сейчас: 26.4.2024, 3:25
Дизайн