ФорумПрограммированиеPHP для идиотов → Сохранить работоспособность старых ссылок

Сохранить работоспособность старых ссылок

  • kolobok

    Сообщения: 48 Репутация: N Группа: Кто попало

    Spritz 3 февраля 2011 г. 11:47

    Подскажите как? Сайт который хочется переделать написан на ASP, думаю попробовать переделать его на PHP так как в ASP я совсем ноль, но очень важно сохранить работоспособность ссылок.
    Сейчас основные ссылки имеют вид типа:
    /news.aspx
    /archive.aspx
    .. и т .д. и есть еще пара страниц с динамическим контентом вида:
    /issue.aspx?iid=417 это содержание за месяц
    /article.aspx?id=9676&iid=417 это сами статьи

    Предполагаю, что на php ссылки поменяются и станут вида
    /news.php (с этим думаю проблем нет)
    или
    /issue.php?num=10
    /article.php?num=10&id=15
    или что то в этом роде. Можно ли как то сохранить старые ссылки, т.к ждать переиндексации совсем не вариант…
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 3 февраля 2011 г. 11:55, спустя 8 минут 24 секунды

    .htaccess
    RewriteEngine on
    RewriteRule ^(.+).aspx $1.php [QSA,L]
  • kolobok

    Сообщения: 48 Репутация: N Группа: Кто попало

    Spritz 3 февраля 2011 г. 12:02, спустя 6 минут 26 секунд


    .htaccess

    Это я так понимаю замена расширений. Но как быть с разными ссылками? Как бы сделать так чтобы старый id ссылался на новый? я уверен что они совпадать не будут. Как вобще обычно делают, если нужно переделать сайт? Или тут единственное решение каким то образом сделать совпадение по id? Но как так сделать - не понимаю. Кто то делал похожее?
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 3 февраля 2011 г. 12:16, спустя 14 минут 44 секунды

    Как вариант, создать массив, ключи которого указывают на старые значения id, т.е. проверять этот массив при каждом запросе и подставлять нужный id.

    Что-то типа:

    array(124 => 332, 5 => 32, 6 => 17);

    Где ключ это новый id, а значение старый id. Но, конечно придется собирать такой массив вручную.
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz 3 февраля 2011 г. 13:27, спустя 1 час 10 минут 20 секунд

    В обработчик 404 поместить вычислитель и думатель. если соответствие адреса вычисляется - перебрасывать на новый с кодом 301, если нет - выбать 404
    ιιlllιlllι унц-унц
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 3 февраля 2011 г. 13:40, спустя 12 минут 59 секунд

    kolobok, база данных все равно будет у тебя импортироватся "как есть", то есть по сути все ID останутся не тронутыми, если все правильно делать. По сути изменится у тебя только интерпретатор (ну по сути и скрипты), а логика и данные останутся прежними.
    Но вариант А2Д2 тоже катит, правда он больше подходит в случае переделки сайта под совсем новую структуру и т.д.
  • kolobok

    Сообщения: 48 Репутация: N Группа: Кто попало

    Spritz 3 февраля 2011 г. 14:00, спустя 19 минут 53 секунды

    Да я хотел вобще базу не трогать, а существующие каталоги с файлами уже закинуть в новую БД с соответствующими новыми id, но суть я так понял одна - чтобы сохранить соответствие по id… Или может сделать новую структуру с новыми id но оставить таблицу со старыми id и каким то образом делать соответствие…
    вариант А2Д2
    - это какой?
  • Lirck

    Сообщения: 1658 Репутация: N Группа: Джедаи

    Spritz 3 февраля 2011 г. 14:04, спустя 4 минуты 28 секунд

    - это какой?

    В обработчик 404 поместить вычислитель и думатель. если соответствие адреса вычисляется - перебрасывать на новый с кодом 301, если нет - выбать 404

    правда он больше подходит в случае переделки сайта под совсем новую структуру и т.д.


    Если базу трогать не будешь, то id не изменятся, и все упрется в то, что нужно воспринимать .aspx как .php.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!