Jump to content
Zivler

Перенос сайта на другой домен на другой CMS

Recommended Posts

Недавно начал переносить сайт на новый домен на другой CMS. Начал с переноса внутренних страниц. На новый сайт копировал информацию со старого сайта, а в .htaccess прописывал по такому принципу:

Redirect 301 /aaaaa/bbbbbb.html http://новый-сайт.ru/ccccc/ddddd.html'>http://новый-сайт.ru/ccccc/ddddd.html

 

То есть, на новом сайте страницы доступны под другим адресом. Всё шло отлично. И вот наконец пришло время сделать редирект для главной. Прописал:

Redirect 301 / http://новый-сайт.ru/

 

Редирект главной происходит верно. Но теперь для старых страниц происходит неверное перенаправление вида:

http://старый-сайт.ru/aaaaa/bbbbb.html --> http://новый-сайт.ru/aaaaa/bbbbb.html

А должно быть http://старый-сайт.ru/aaaaa/bbbbb.html --> http://новый-сайт.ru/ccccc/ddddd.html'>http://новый-сайт.ru/ccccc/ddddd.html

 

То есть, редирект привязался ко всем страницам старого сайта и перенаправляет по единому шаблону "старая страница" ->> "новая страница с тем же адресом на другом домене". Не подскажете как решить беду?

Share this post


Link to post
Share on other sites

Редирект главной постав в сомом последном строке в списке редиректов

Помогло. Действует. Но является ли это верным решением с точки зрения валидности?

Я вот сейчас думаю над решением данной проблемы через index.php. В интернете нашёл решение, но оно не работает у меня. Вот так написано:

 

В файле старый_сайт/index.php сделай редирект куда тебе нужно:

<? 
if($_SERVER['REQUEST_URI'] == '/' ) header("Location:http://site.ru/"); 
//вроде как-то так 
?>

Не действует. :(

Share this post


Link to post
Share on other sites

Если я вас верно понял, набросал на коленке простенький скрипт (редирект по связке старый-новый URI):

<?php

// url of new domain
$new_domain = 'http://chetkij-sait.com';

// key = old URI
// value = new URI
$urls = array(
    '/directory/test.html' => '/new-dir/testing.html',
    '/other-dir/some-url.html' => '/new-dir/some-url.html'
);

if(array_key_exists($_SERVER['REQUEST_URI'], $urls)) {
    header("Location: " . $new_domain . $urls[$_SERVER['REQUEST_URI']]);
    exit();
}

?>

забить это в index.php в корне сайта и в .htaccess аналогично:

RewriteEngine On
RewriteBase /
RewriteRule ^.htaccess$ - [F]

RewriteCond %{REQUEST_URI} !\.(ico|css|js|txt)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /index.php [L]

и будет то, чего хотите, если настроите массив старых-новых URI $urls и название нового домена в $new_domain

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...