Noxter Опубликовано 26 марта, 2012 Жалоба Поделиться Опубликовано 26 марта, 2012 Всем привет!Для проекта на симпле мне нужно переписать mod_rewrite для вложенности категорий которая в симпле отсутствует, и по словам разработчика создать роутинг url в симпле практически невозможно.Вкратце:Есть сайт http://atlet.com.ua/ у него url подкатегорий выглядит так http://www.atlet.com.ua/tennis_table/adidas/vsepogodnieСобственно что нужно сделать так это реализовать такие ссылки в симпле.Или как вариант можно написать 301 редирект старых ссылок на новые (у меня есть для этого скрипт, его просто нужно настроить правильно).Других вариантов не предлагать так как сайт раскручен и не хотелось бы потерять проиндексированные страницы.Предлагайте свои варианты и стоимость выполнения работ. Цитата Ссылка на сообщение Поделиться на другие сайты
Wizard Опубликовано 26 марта, 2012 Жалоба Поделиться Опубликовано 26 марта, 2012 mod_rewrite давно не юзаю для определения url.Все достаточно банально - отправляем в обработчик url запрос, разбиваем строку по категориям "/", далее по файлам "." после запрашиваем а базе все что вытащили с url. скачай тот же ABOсms - посмотри как это реализовано там. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 26 марта, 2012 Автор Жалоба Поделиться Опубликовано 26 марта, 2012 Wizard сможешь реализовать? Я заплачу. Цитата Ссылка на сообщение Поделиться на другие сайты
Wizard Опубликовано 26 марта, 2012 Жалоба Поделиться Опубликовано 26 марта, 2012 ни как не могу, времени нет... Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 26 марта, 2012 Автор Жалоба Поделиться Опубликовано 26 марта, 2012 Быстро зашел посмотрел на движок, обнаружил ЧПУ как и в симпле.Нет это не совсем то что нужно. Цитата Ссылка на сообщение Поделиться на другие сайты
Wizard Опубликовано 26 марта, 2012 Жалоба Поделиться Опубликовано 26 марта, 2012 сам движок то может не подходит но в исходном коде есть то что тебе надо. Цитата Ссылка на сообщение Поделиться на другие сайты
yakutec Опубликовано 26 марта, 2012 Жалоба Поделиться Опубликовано 26 марта, 2012 Noxter, делай редиректами, т.к. с точки зрения СЕО вложенности, в том виде как их пишут обычно, излишни.Т.е. придется собрать страницы для 301 редиректа. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 26 марта, 2012 Автор Жалоба Поделиться Опубликовано 26 марта, 2012 Страницы собрать не проблема.Если переписывать mod_rewrite то я не могу избавится от надписи catalog в ссылках, а это проблема для меня. Цитата Ссылка на сообщение Поделиться на другие сайты
yakutec Опубликовано 26 марта, 2012 Жалоба Поделиться Опубликовано 26 марта, 2012 Приведи пример пары страниц с которых и на которые тебе нужно сделать редирект. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 26 марта, 2012 Автор Жалоба Поделиться Опубликовано 26 марта, 2012 http://www.atlet.com.ua/tovari-dly-turizma/palatki/2hmestnie на http://atlet.com.ua/catalog/2hmestnie ну и т.д.Обычным редиректом тут не обойтись. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 26 марта, 2012 Автор Жалоба Поделиться Опубликовано 26 марта, 2012 Прикрепил модуль для редиректа http://rghost.ru/37247785В index.php его нужно приинклудить и настроить сами правила редиректа. Цитата Ссылка на сообщение Поделиться на другие сайты
Kpoxa Опубликовано 27 марта, 2012 Жалоба Поделиться Опубликовано 27 марта, 2012 а можно на другой обменник? ну не доступен у меня rghost Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 27 марта, 2012 Автор Жалоба Поделиться Опубликовано 27 марта, 2012 http://narod.ru/disk/44478166001.ce243e2a50bf7d09186eb4f2f5e7a651/redirect.rar.html Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 28 марта, 2012 Автор Жалоба Поделиться Опубликовано 28 марта, 2012 Что-то меня вообще игнорируют(((Процитирую еще здесь, может кто поможет...RewriteRule ^old_page.html$ /new_page [R=301,L]У меня таких страниц больше тысячи, думаю глупо будет хранить их в .htaccess.Есть альтернативный способ для хранения ссылок? Цитата Ссылка на сообщение Поделиться на другие сайты
pikusov Опубликовано 28 марта, 2012 Жалоба Поделиться Опубликовано 28 марта, 2012 Только что помог одному человеку сделать то же самое, вот пример:# Старые ссылки Этот блок должен идти перед "Статический страницы"RewriteRule ^p1712440-kotly-lugansk.html$ /catalog/kotly [R=301,nc]RewriteRule ^product_list/group_598399$ /catalog/konvektory [R=301,nc] Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 28 марта, 2012 Автор Жалоба Поделиться Опубликовано 28 марта, 2012 Да так работает и по каталогу не много ссылок.Но мне нужно еще сделать редирект всех товаров, а их примерно 1300 штук.Так вот и назрел вопрос: правильно ли будет хранить все правила редиректа этих ссылок в файле htaccess ~1300 правил? Цитата Ссылка на сообщение Поделиться на другие сайты
pikusov Опубликовано 28 марта, 2012 Жалоба Поделиться Опубликовано 28 марта, 2012 > глупо будет хранить их в .htaccess.А где еще их хранить? На каждый редирект вызывать PHP еще глупее Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 28 марта, 2012 Автор Жалоба Поделиться Опубликовано 28 марта, 2012 Ну я думал возможно их можно хранить в xml или еще как-то.Ну ладно, спасибо Денис и на этом=) Цитата Ссылка на сообщение Поделиться на другие сайты
yakutec Опубликовано 3 апреля, 2012 Жалоба Поделиться Опубликовано 3 апреля, 2012 Noxter, думаю тебе надо работать с условием 404 страницы.1. Создать парсер старых УРЛ$uri = explode('/', $_SERVER['REQUEST_URI']);2. Брать последний кусок (2hmestnie из твоего примера)$item = end($uri);3. Все это дело срабатывает при 404 ошибке (index.php в корне сайта)if(strlen($item) > 0){ header ('HTTP/1.1 301 Moved Permanently'); header ('Location: /catalog/'.$item);} // Иначе страница об ошибке header('http/1.0 404 not found'); Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 4 апреля, 2012 Автор Жалоба Поделиться Опубликовано 4 апреля, 2012 У меня есть схожий вариантredirect.php <?php //Проверяем существование файла с адресами, нам же не нужен warning на всех страницах сайта if (file_exists("links.txt")) { //Загоняем все строки файла в массив $f = file("links.txt"); //И проходимся циклом по массиву проверяя все адреса. foreach ($f as $value) { //В $value у нас содержание строки которую в текущий момент проходит цикл $urls = explode("|", $value); //Теперь в $urls[0] будет адрес с которого будет редирект //а в $urls[1] будет адрес, на который нужно сделать редирект /* Следующий момент это дело удобства, вам удобнее хранить в файлах URI или URL? Я думаю что URL, отсюда и следующая строка в которой мы получаем полный URL текущей страницы. */ $current_url = "http://" . $_SERVER['REQUEST_URI']; if ($current_url == $urls[0]) { //Делаем 301 редирект Header("HTTP/1.1 301 Moved Permanently"); Header("Location: " . $urls[1]); break; } } } ?> links.txthttp://atlet.com.ua/abkingpro|http://atlet.com.ua/catalog/ab_king_prohttp://atlet.com.ua/tovary_dlya_detej|http://atlet.com.ua/catalog/tovary_dlya_detejНо он не работает с подкатегориями как у атлета, мне кажется что это из-за слешей. Цитата Ссылка на сообщение Поделиться на другие сайты
yakutec Опубликовано 7 апреля, 2012 Жалоба Поделиться Опубликовано 7 апреля, 2012 1. работать с файлом для нескольки тысячь страниц - не айс.2. мой случай исключает работу с директориями, я просто беру последнюю часть адреса и приставляю её на /catalog/3. черкани ФТП в личку, сделаю тебе. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 10 апреля, 2012 Автор Жалоба Поделиться Опубликовано 10 апреля, 2012 Проверил я количество проиндексированных ссылок:1. Гугл ~6502. Яндекс ~ 800Судя по количеству нужно переписать 800 ссылок.yakutec сможешь все сделать? Я заплачу. Цитата Ссылка на сообщение Поделиться на другие сайты
osben Опубликовано 12 апреля, 2012 Жалоба Поделиться Опубликовано 12 апреля, 2012 я бы сделал по другому если надо редирект http://atlet.com.ua/abkingpro => http://atlet.com.ua/catalog/ab_king_pro то надо дописать гду идёт проверка на статические страницы, перед ним узнать есть ли такая категория и прям там редирить - вкурили? Цитата Ссылка на сообщение Поделиться на другие сайты
osben Опубликовано 12 апреля, 2012 Жалоба Поделиться Опубликовано 12 апреля, 2012 и не надо страдать со всякими тхт файлами, будет интересно skype: dzeka12 Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.