Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
код редиректа клонов url, получение url после знака #
Код для редиректа клонов url, помогите получить код ссылки после символа #
все бы то ничего, но редирект страничек с приставкой # в конце не работает.
$find_klon_url = $_SERVER [HTTP_HOST].$_SERVER[REQUEST_URI]; выдает url c обрезанной приставкой # и далее любой текст.
как получить часть ссылки #kakoytotekts ?
данный код используется на Joomla 3.5 в файле шаблона + компонент JbZoo
Но данный код пожалую подойдет для любой CMS, достаточно только подставить свои правила редиректа.
может кто подскажет как получить значение переменной canonical ? а если точнее, то url canonical выводимый в шаблоне?
зная как получить значение переменной canonical - код можно сократить в разы. сам не смог разобраться как получить значение переменной canonical который выводится в шаблоне Joomla 3.5.
Модераторы не судите строго, это мой первый пост, заранее приношу извинения если опубликовал пост в не самом подходящем разделе форума.
Rод для редиректа клонов url, помогите получить код ссылки после символа #
все бы то ничего, но редирект страничек с приставкой # в конце не работает.
$find_klon_url = $_SERVER [HTTP_HOST].$_SERVER[REQUEST_URI]; выдает url c обрезанной приставкой # и далее любой текст.
как получить часть ссылки #kakoytotekts ?
данный код используется на Joomla 3.5 в файле шаблона + компонент JbZoo
Но данный код пожалую подойдет для любой CMS, достаточно только подставить свои правила редиректа.
PHP:
<?php
$find_klon_url = $_SERVER [HTTP_HOST].$_SERVER[REQUEST_URI]; // текущий url
//print_r ($find_klon_url); // для проверки
// ########################
// редирект материалов без категории
// домен
// [a-z0-9-]+ - цифры и буквы повторяющиеся 1+ раз
// ([a-z0-9-]+)\. -//-// цикл - повторение символов до первого символа .
// (([a-z0-9-]+)\.)+ цикл выше описанного, пока не закончатся .
// [a-z0-9]+ - последняя доменная зона без .
// [\/] - / в конце домена сайта
$reg = "/^(([a-z0-9-]+)\.)+[a-z0-9]+[\/]item/i"; // домен + /item
if ( preg_match ($reg, "$find_klon_url") ) // проверка регулярного выражения
{
//echo preg_match ($reg, "$find_klon_url") . "<br>";
//echo "текущий url <br>" . ($find_klon_url) . "<br><br>";
$new_url = 'https://'.$_SERVER [HTTP_HOST] . '/games/item' . preg_replace($reg, "" , $find_klon_url);
//echo "новый измененный url <br>" .($new_url) . "<br><br>";
header("Location: $new_url"); // редирект на правильную страничку
exit;
}
// ########################
// редирект категорий которые не находятся в категории games
$reg = "/^(([a-z0-9-]+)\.)+[a-z0-9]+[\/]category/i"; // домен + /category
if ( preg_match ($reg, "$find_klon_url") ) // проверка регулярного выражения
{
//echo preg_match ($reg, "$find_klon_url") . "<br>";
//echo "текущий url <br>" . ($find_klon_url) . "<br><br>";
$new_url = 'https://'.$_SERVER [HTTP_HOST] . '/games/category' . preg_replace($reg, "" , $find_klon_url);
//echo "новый измененный url <br>" .($new_url) . "<br><br>";
header("Location: $new_url"); // редирект на правильную страничку
exit;
}
// ########################
// редирект idex.php на корень сайта
$reg = "/^(([a-z0-9-]+)\.)+[a-z0-9]+[\/]index.php/i"; // домен + /index.php
if ( preg_match ($reg, "$find_klon_url") ) // проверка регулярного выражения
{
//echo preg_match ($reg, "$find_klon_url") . "<br>";
//echo "текущий url <br>" . ($find_klon_url) . "<br><br>";
$new_url = 'https://'.$_SERVER [HTTP_HOST];
//echo "новый измененный url <br>" .($new_url) . "<br><br>";
header("Location: $new_url"); // редирект на правильную страничку
exit;
}
// ########################
// редирект лишнего / в конце url
$domen = $_SERVER [HTTP_HOST] . "/";
$reg = "/\/$/i"; // редирект страничек с лишним / в конце url
if ( preg_match ($reg, "$find_klon_url") && $find_klon_url != $domen)
{
//echo preg_match ($reg, "$find_klon_url") . "<br>";
//echo "текущий url <br>" . ($find_klon_url) . "<br><br>";
$new_url = 'https://' . preg_replace($reg, "" , $find_klon_url);
//echo "новый измененный url <br>" .($new_url) . "<br><br>";
header("Location: $new_url"); // редирект на правильную страничку
exit;
}
// ########################
// редирект статьи которая находится одновременно в нескольких категориях
$reg = "/\?category_id=[0-9]+/i"; // удаляем с url идентификатор дополнительной категории
if ( preg_match ($reg, "$find_klon_url") )
{
//echo preg_match ($reg, "$find_klon_url") . "<br>";
//echo "текущий url <br>" . ($find_klon_url) . "<br><br>";
$new_url = 'https://' . preg_replace($reg, "" , $find_klon_url);
//echo "новый измененный url <br>" .($new_url) . "<br><br>";
header("Location: $new_url"); // редирект на правильную страничку
exit;
}
// ########################
// поиск запрещенных символов в url и редирект на главную страницу
if ( strripos($find_klon_url, 'contushdvideoshare') !=0 || strripos($find_klon_url, '?category_id') !=0)
{}
else if (strripos($find_klon_url, '&') >0
OR strripos($find_klon_url, '?') >0
OR strripos($find_klon_url, '//') >0
//OR strripos($find_klon_url, '#') >0 // не работает, поскольку получаемый url без #
OR strripos($find_klon_url, 'component') !=0
)
{
$new_url = 'https://' . $_SERVER [HTTP_HOST];
header("$new_url"); // редирект на главную страничку
exit;
}
?>
может кто подскажет как получить значение переменной canonical ? а если точнее, то url canonical выводимый в шаблоне?
зная как получить значение переменной canonical - код можно сократить в разы. сам не смог разобраться как получить значение переменной canonical который выводится в шаблоне Joomla 3.5.
ну в php Для просмотра ссылки ВойдиилиЗарегистрируйся.
Если не прокатит то через js:
Код:
$("a").cick(function(){
// пост нужен потому, что гет и не передает все что после решетки.
$.post("тут адрес отправки",{url:$(this).attr("href")},function(a){alert(a);});
return false;
});
Этот код навешивает на ссылку событие, которое при клике копирует href ссылки и отправляет его на заданный адрес,где его уже через php в post массиве можно получить и рапарсить, распарсить можно и прям в js а потом отправлять.
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.