- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Вопрос о 301 редиректе. Как сделать, чтобы при редиректе id (номер) страницы оставался прежним а вся остальная часть кода менялась, и так с каждым id-шником, с каждым элементом, можно ли так сделать?
Есть такая статья:
А если страниц тысячи, как сделать редирект в таком случае?
Нпшёл статью, правильно ли в ней описано всё?
Сначала создаем в базе таблицу, которая содержит старый id и новый URL для редиректа.
old_id INT
new_url VARCHAR (255)
Далее пишем код который свяжет ваши старые id с новыми URL-ами
После этого, добавляем следующую строчку в .htaccess:
RewriteRule ^/product-(.*)_([0-9]+).php /redirectold.php?productid=$2
затем создаем PHP файл redirectold.php, который будет поддерживать 301 редирект:
<?php
function getRedirectUrl($productid) {
// Connect to the database
$dServer = “localhost”;
$dDb = “mydbname”;
$dUser = “mydb_user”;
$dPass = “password”;
$s = @mysql_connect($dServer, $dUser, $dPass)
or die(“Couldn’t connect to database server”);
@mysql_select_db($dDb, $s)
or die(“Couldn’t connect to database”);
$query = “SELECT new_url FROM redirects WHERE old_id = “. $productid;
mysql_query($query);
$result = mysql_query($query);
$hasRecords = mysql_num_rows($result) == 0 ? false : true;
if (!$hasRecords) {
$ret = ’http://www.yoursite.com/’;
} else {
while($row = mysql_fetch_array($result))
{
$ret = ’http://www.yoursite.com/’. $row["new_url"];
}
}
mysql_close($s);
return $ret;
}
$productid = $_GET["productid"];
$url = getRedirectUrl($productid);
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: $url”);
exit();
?>
Я бы с удовольствием это всё исользовала, но, по причине минимума знаний...конкретно интересует вот эта часть
old_id INT
new_url VARCHAR (255)
Далее пишем код который свяжет ваши старые id с новыми URL-ами
Таблицу в базе создала, получилось что-то вроде того:
CREATE TABLE `testovaya`.`ide` (
`old_id` INT NOT NULL ,
`new_url` VARCHAR( 255 ) NOT NULL
) ENGINE = MYISAM ;
не знаю, правильно или нет, и что делать дальше?
Если кто-то детально сможет расписать как это всё реализовать буду крайне благодарана - вопрос жизни и смерти.
Может есть какой-то другой способ решить изначальную задачу (чтобы менялось всё кроме айдишников)?
Заранее спасибо за ответы.
Можно, но если с почти готовым примером не можете разобраться сами вы очевидно не справитесь. Принцип простой, получаем ид, запрашиваем из таблицы данные этому ид, если введенный адрес не соответствует отправляем на новый адрес.
Request:
/1-old_url.html
В таблице у нас:
То есть нет никакого способа объяснить это пошагово человеку, не знающему программирования: куда писать этот код (в какой файл) и тд, шаг за шагом?
Таблица, значить создана правильно?
так тебе чего надо сделать то? старые урлы сменить на новые, чтобы сохранялся id? тогда это одна строчка htaccess, зачем все эти таблицы и пхп скрипты. А если что то другое- объясние подробнее.
так тебе чего надо сделать то? старые урлы сменить на новые, чтобы сохранялся id? тогда это одна строчка htaccess, зачем все эти таблицы и пхп скрипты. А если что то другое- объясние подробнее.
Вот именно так мне и надо - старые урлы на новые, а id сохранялся. Это счастье если не нужны таблицы и пхп, так какая строчка?
То есть нет никакого способа объяснить это пошагово человеку, не знающему программирования:
Я вам уже дал больше половины рабочего кода. Пошагово можно объяснить только для конкретного случая - кмс, тип урл-ов. Вы кстати даже примеры не показали откуда, куда хотите редиректить. Может быть и вправду можно обойтись только мод реврайтом. Сформулируйте нормально задачу.
Задача:
Надо сделать редирект со страниц http://test.loc/perv/index.php?SECTION_ID=25 на страницы http://test.loc/vtor/25/
ID при этом - любое число
Задача:
Надо сделать редирект со страниц
RewriteEngine On
RewriteRule %{QUERY_STRING} ^SECTION_ID=(\d+)$
RewriteRule ^perv/index\.php$ /vtor/%1/ [R=301,L]
Вставьте в htaccess корня сайта.
RewriteEngine On
RewriteRule %{QUERY_STRING} ^SECTION_ID=(\d+)$
RewriteRule ^perv/index\.php$ /vtor/%1/ [R=301,L]
Вставьте в htaccess корня сайта.
редиректит почему-то меня сюда:
...//test.loc/vtor//?SECTION_ID=25
RewriteEngine On
RewriteRule %{QUERY_STRING} ^SECTION_ID=([0-9]+)$
RewriteRule ^perv/index\.php$ /vtor/%1/? [R=301,L]
RewriteEngine On
RewriteRule %{QUERY_STRING} ^SECTION_ID=([0-9]+)$
RewriteRule ^perv/index\.php$ /vtor/%1/? [R=301,L]
Теперь сюда:...://test.loc/vtor//