Добрый всем.
Бьюсь над такой задачей: необходимо поместить старый сайт (D5) в папку(или субдомен) '/old', а новый сайт выложить в корень. При этом страницы старого сайта должны быть доступны по прежним адресам. Наполовину ситуацию разрешил при помощи .htaccess - страницы открываются как задумано. Однако, вылезла другая проблема - ссылки на старом сайте после перемещения содержат тот самый 'old' (http://site.com/old/node).
Подскажите, плс, как бы от него избавиться и заставить ссылаться на root?.
Комментарии
Т.е. надо чтобы с http://site.com/node/100500 30x редиректом переводило на http://site.com/old/node/100500 , а коллизии с новым сайтом не боишься?
Хотя можно на новом сайте установить начальное значение инкремента у таблиц на 101000 например (для нод и таксономии), профили пользователей и страницы администрирования пускай будут с префиксом /old/, опять же запар со страницами созданные views и корень старого сайта должен быть в любом случае на old/ открываться. А не проще в поисковиках адресс сайта изменить? Зачем нужно сохранять старые адреса? Нод то много? Какие модули на сайтах?
Коллизий не боюсь. На новом сайте все урлы переписаны при помощи pathauto. Т.е., имеем не node/100500, а content/100500 и т.д. А желание сохранить прежние урлы продиктовано тем, что сайт участвует в линкотороговле и очень не хочется получить просадку по доходам
Редирект вполне себе успешно срабатывает с добавлением в htaccess такой конструкции:
RewriteRule ^node(.*) /old/node$1 [L,QSA]
Как убрать из выводимых друпалом ссылок 'old/' - вот в чем вопрос...
С 5-кой не работал.
Но все ссылки через url ф-цию создаются.
вот эта функция возвращает old.
Т.е. попробуй глоб. переменную base_path в index.php после бутстрапа обнулить.
спасибо. уже тепло
Обнулять - не есть гуд, потому что с обнулением станут некорректными ссылки на ccs, images, files и прочая.
Как бы сделать такой финт ушами: нужно куда-то вставить обработчик base_path, который убирал бы '/old' только для ссылок на, собственно, контент?
разрешено. добавляем в функцию url (common.inc)
if (strpbrk($path, 'node')) { $base=''; }
и продолжаем радоваться жизни