- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Через редирект закрыл ссылки на внешние сайты..
в robots.txt
disallow: go.php
go.php
<?if( array_key_exists('to', $_GET))
{
$redirect = $_GET['to'];
header("HTTP/1.1: 301 Moved Permanentlyn");
header("Location: " . $redirect);
}
else
{
header("HTTP/1.1: 404 Not Foundn");
print "Страницы не существует";
}?>
Так вот в apache все ок работало, сейчас переехали на новый хостинг и php-fpm, так при редиректе ссылки режутся..
Если к примеру ссылка на http://site.ru/forum/viewtopic.php?f=11&t=103293
она обрезается до: http://site.ru/forum/viewtopic.php?f=11
Как быть?
Потому что спецсимволы в аргументах по хорошему надо енкодить. Тогда ничего резаться не будет
/go.php?to=urlencode('http://site.ru/forum/viewtopic.php?f=11&t=103293');
$redirect = urldecode($_GET['to']);
Немного не по теме, но обратите внимание на 3-й параметр:
http://php.net/manual/ru/function.header.php
Почему на одном хостинге работало, на другом перестало? Может в настройках php.ini какая беда?
Можно из $_SERVER['REQUEST_URI'] выдернуть всё после to=
и использовать для редиректа вместо
Почему на одном хостинге работало, на другом перестало? Может в настройках php.ini какая беда?
Вам шашечки или ехать?
$redirect = urldecode($_GET['to']);
Из мануала:
Переменные в суперглобальных массивах $_GET и $_REQUEST уже декодированны. Применение urldecode() к элементам $_GET или $_REQUEST может привести к непредсказуемым и опасным результатам.
Заменил go.php на этот код:
<?php
if (isset($_SERVER['QUERY_STRING'])) Header('Location: '.$_SERVER['QUERY_STRING']);
?>
Все заработало.
Из мануала:
Переменные в суперглобальных массивах $_GET и $_REQUEST уже декодированны.
Да, так оно и есть.
Привет всем, чтобы не создавать новую тему решил поискать помощи здесь...
Кто может помочь с файлом .htaccess?
Дело вот какое: кто-то проставил на сайт много внешних ссылок типа:
адрес_сайта/страница.html?post=098384
Из-за этого поисковые системы (в частности Гугл) индексирует дубли страниц, которых по сути-то и нету на сервере.
Я уже замучился писать на каждое выражение правило в robots.txt для запрета индексации.
Как сделать, чтобы любые символы после .html игнорировались и выдавалась правильная страница, заканчивающаяся просто на .html
Заранее благодарен.
Я уже замучился писать на каждое выражение правило в robots.txt для запрета индексации.
Зачем каждое когда здесь можно создать одно правило для всех выражений? ВЫ же сами видите что часть урла остается статическим, и легко определяет ваши урлы, не запрещая ничего лишнего.
В панеле вебмастера Гугла я смотрю дубли страниц. Вижу например ситуацию описанную выше и добавляю правило в robots.txt
Но хочется сделать по-хорошему. Чтобы пользователя (либо ПС) переадресовывало 301 редиректом на правильную страницу.
Я пытался так:
RewriteBase /
RewriteRule ^(.*)\.htm$ $1.html [R=permanent]
Но не работает. Синтаксис естественно порчу т.к. не могу его понять. Уже больше месяца мучаюсь. Пробую и так и эдак. Даже уже пытался кинуть эту затею... Но как увижу в очередной раз, что в Гугле снова множество дублей, аж плохо... Откуда он только берет эти не правильные адреса?..
---------- Добавлено 16.07.2013 в 21:55 ----------
Пробовал такие варианты:
RewriteRule ^([a-z^\.]+).html(\?.*)?$ ^(.*).html$1 [QSA]
RewriteRule ^([a-z^\.]+).html(\?.*)?$ .html$1 [QSA]
Не помогает. Всё равно отображает содержимое страницы .html а в адресной строке все последующие параметры...