- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Добрый день!
Не подскажите, как грамотно сделать 301 редирект со следующих страниц?
Старая: site.ru/stat.php?id=77
Новая: site.ru/tovar/
Объясню в чем дело. Просто раньше на сайте был другой движок и было много закуплено ссылок вот на такие страницы. Вот и хочу их собрать и перенаправить куда надо.
Спасибо!
Супер! Все работает!
Если ссылок много, будет лучше подложить в stat.php скрипт, делающий по значению id редирект на нужный адрес.
Если ссылок много, будет лучше подложить в stat.php скрипт, делающий по значению id редирект на нужный адрес.
Зачем, если структура URL любого сайта должна вписываться в 3-5 строчек регулярных выражений?
dle=>{
category => '^(.+)/$',
category_pager => '([^/]*)/page/(\d+)/',
page => '([^/]+)?/(\d+)-(.+)\.html$',
page1 => '^/(\d+)/(\d+)/(\d+)/([^,]+)\.html$',
comment_page => '/page,\d+,(\d+),(?:(\d+)-)?(.+)\.html$'
},
wordpress=>{
category => '^/(?:category|topics)+(/.+)$',
category_pager => '([^/]*)/page/(\d+)',
page => '([^/]+)?/()([^/\.]+)(?:\.html|/)?$',
page1 => '^/(\d+)/(\d+)/(\d+)/([^/\.]+)',
comment_page => '/([^/]+)(?:.html)?/comment-page-(\d+)',
archive => '/(\d{4})/(\d{2})(?:/(\d{2}))?/?$'
}
тупо скопировано из одного проекта, вордпресс поновее.
Коллеги, а как корректно сделать редирект только для роботов Яндекса и Гугла?
Здесь http://htaccess.net.ru/doc/mod_rewrite/Bot-User-agent_Mod_rewrite.php (ссылка из полезных материалов в начале топика) дается синтаксис
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !^yandex.* [NC,OR]
RewriteCond %{HTTP_USER_AGENT} !^googlebot.* [NC,OR]
но в справке Яндекса они (те роботы) называются иначе, например Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)
Какой будет правильно задать условие, что это редирект только для робота Яндекса и Гугла?
Интересует именно что должно идти после {HTTP_USER_AGENT} (с кавычками или без, со звездочками или иначе - короче синтаксис имен бота)?
Спасибо.
UPD
А тут например еще вариант
RewriteCond %{HTTP_USER_AGENT} google
А как все-таки правильно?
Всем привет!
Ищу решение массового 301-редиректа в связи с переносом сайта на другой движок. Нашел вот такую статью http://www.ahp-net.ru/cmschange.ahp сделал всё, как там написано, но где-то в скрипте ошибка…
Автор статьи на связь не выходит… может быть здесь кто-нибудь поможет выявить и исправить ошибку...
вот сам redirect.php
<?php
// Какой URL у нас запросили?
$rq_uri = $_SERVER['REQUEST_URI'];
// Считываем файл как массив строк
$a_src = file('./redirect.csv');
// Разбираем каждую строку как элемент нового массива:
// в нем старый URL становится индексом, а новый – значением
$a_rdr = array();
foreach ($a_src as $val) {
// Разбивка по разделителю
$a_0 = explode('|', $val);
// Добавление в массив с попутной зачисткой пробелов
$a_rdr[trim($a_0[0])] = trim($a_0[1]);
}
// После этого цикла у нас готова таблица редиректов
// Массив строк файла уничтожаем – он больше не нужен
unset($a_src);
// Теперь осталось проверить, есть ли запрошенный URL среди старых
// Если есть, то перенаправляем на соответствующий новый и на этом завершаем работу
if (!empty($a_rdr[$rq_uri])) {
header($_SERVER['SERVER_PROTOCOL']. ' 301 Moved Permanently');
header('Location: http://'.$_SERVER['HTTP_HOST'].$a_rdr[$rq_uri]);
exit();
} else {
// А если запрошенного URL среди старых не нашлось,
// уничтожаем таблицу, чтоб не занимала память и пусть index.php работает дальше
unset($a_rdr);
}
?>
redirect.csv - список старых|новых урлов сделан по следующей схеме:
/2015/01/25/postname/|/categoria/podcategoria/ID-postname.html
В результате, когда ввожу старый урл в браузере, он меняется на новый, но после домена исчезает косая черта - /… т.*е. новый урл отображается так:
mysite.rucategoria/podcategoria/ID-postname.html
а нужно:
mysite.ru/categoria/podcategoria/ID-postname.html
redirect.php и redirect.csv помещены в корень сайта...
В index.php добавлена строка:
include('./redirect.php');
Вот, собственно и всё...
после домена исчезает косая черта - /
Так добавь её
Samail, спасибо за помощь... попробовал оба варианта и в том, и другом случае теперь после домена выходит две косые - //
krist, попробовал сделать как по ссылке пишут, у меня черта не исчезает. Видимо где-то в другом месте вырезает её ...может в .htaccess