Как 301 корневой сайт в новую папку, но разрешить новый сайт в корне

Хорошо, позвольте мне посмотреть, смогу ли я объяснить это легко

У меня есть форум, который был размещен как моя домашняя страница на www.mysite.com соответственно. Он хорошо проиндексирован, и я не хотел бы потерять какой-либо рейтинг.

Сегодня я переместил весь корневой сайт из корневого домена в www.mysite.com/forum, чтобы освободить место для нашей новой системы CMS, которая теперь будет домашней страницей. (Это сделано для того, чтобы помочь новым пользователям и легко направлять посетителей в наш новый магазин)

В настоящее время я использую это в своем файле htaccess.

    RewriteEngine on

RewriteCond $1 !^Home
RewriteCond %{HTTP_HOST} ^mysite.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.mysite.com$
RewriteRule ^(.*)$ "http\:\/\/www\.mysite\.com\/forum\/$1" [R=301,L]

Как видите, это позаботится о переадресации, но при этом позволит мне получить доступ к cms, расположенному в /home.

Вот вопрос на миллион долларов:

Есть ли способ разместить CMS в корневом домене, сохраняя при этом перенаправление всех старых ссылок форума? Я ценю вашу помощь и надеюсь, что я правильно объяснил :)


person Chris    schedule 08.07.2010    source источник


Ответы (2)


Это займет довольно много работы.

Ваш HTTP-сервер не будет знать разницу между http://www.mysite.com/ (старая ссылка на форум) и http://www.mysite.com/ (новая ссылка CMS).

Однако, и это немаловажно, вы можете перенаправить все http://www.mysite.com/forum-link на http://www.mysite.com/forum/forum-link. Вероятно, вам придется написать RewriteRule для каждого уникального forum-link, который у вас есть.

Лучшей возможностью было бы разместить новые страницы CMS по адресу http://www.mysite.com/cms и перенаправить туда http://www.mysite.com.

person Gilbert Le Blanc    schedule 08.07.2010
comment
Что ж, CMS в настоящее время находится по адресу mysite.com/Home. Я был бы более чем счастлив оставить ее. там, но я думаю, если я перенаправлю mysite.com на mysite.com/cms не убьет ли это все старые ссылки на форум, которые ранее находились в корневом домене? - person Chris; 08.07.2010
comment
@Chris: я не ясно выразился. Если вы поместите CMS в домашний каталог или каталог cms, вы можете переместить форум обратно в корневой каталог, чтобы сохранить ссылки. - person Gilbert Le Blanc; 08.07.2010
comment
Ах, я понимаю, что вы говорите. Это было бы достаточно просто, но как мне сделать CMS новой домашней страницей? (Смысл CMS в том, чтобы сделать ее домашней страницей. Она будет содержать ссылки на наш магазин и форум, а также общую информацию о продукте, который мы продаем) - person Chris; 09.07.2010
comment
@Chris: перенаправьте mysite.com на mysite.com/Home и поместите главную страницу форума на mysite.com/forum. Вы потеряете некоторые ссылки на главную страницу форума (потому что люди изменят свое избранное), но сохраните глубокие ссылки на форум. - person Gilbert Le Blanc; 09.07.2010

  1. Установите перенаправление на /forum/* для всех запросов, кроме /*?no_redirect.
  2. Напишите обработчик ошибки 404 для каталога /forum. Он должен перенаправить пользователя на /[requested_url]?no_redirect.
person Pavel Strakhov    schedule 08.07.2010
comment
Кажется, я понимаю, о чем вы говорите, единственная проблема в том, что все старые ссылки на форумы (пример) mysite.com, которые сейчас находятся на mysite.com/forum, будут потеряны. Боже, как бы я хотел создать форум в каталоге /forum, чтобы быть с... - person Chris; 08.07.2010