Перейти к контенту

Автозамена части адреса сайта


Рекомендуемые сообщения

Пожалуй, почти первый раз обращаюсь за помощью..

На этот раз я в конец запуталась, ибо в некоторых вещах абсолютна неопытна.

У меня есть форум с адресом вида:

http://поддомен1. домен1.ru/forum/

Планирую перенести его на другой адрес:

http://домен2.ru/forum/

 

По миру раскиданы ссылки вида

http://поддомен1. домен1.ru/forum/бла-бла-бла

http://поддомен1. домен1.ru/forum/ля-ля-ля

Нельзя ли что-то сделать, чтобы автоматически заменялась первая часть адреса и люди (+ поисковики) могли увидеть то, что ищут?

 

И правильно ли я сделаю, если:

1. Перенесу физически содержимое папки forum на другой домен в папку с тем же названием, поправлю конфиг глобал.

2. В старой (пустой уже) папке создаю файл

index.php

<?php

 

Header( 'Location: http://домен2.ru/forum' );

die;

 

?>

 

И .htaccess

redirect /forum http://домен2.com/forum

 

Достаточно ли этого для автозамены первой части адреса или еще что-то нужно для поисковиков?

 

Извините за невежество если что.. :D

Ссылка на комментарий
Поделиться на других сайтах

PHP-шный Header() просто посылает заголовок Location и происходит безусловный редирект на указанный адрес. Директива .htaccess Redirect занимается тем же самым. Думаю, имеет смысл подумать в сторону:

 

RedirectMatch permanent (.*)forum(.*)$ http://domain.ru/forum/$1

 

Первая часть строки - это необязательное поле, определяет код возврата, допустимые значения:

  • permanent (ошибка 301 — документ перемещен постоянно);
  • temp (ошибка 302 — документ перемещен временно);
  • seeother (ошибка 303 — смотрите другой);
  • gone (ошибка 410 — убран).

Вторая часть - регулярное выражение, которое срабатывает на всех обращениях к серверу вида http://старыйдомен.ру/forum. Третья - адрес, куда будет осуществлён редирект (в данном случае http://domain.ru/forum/). Знаки долларов в данном случае означают, что весь запрос после слова forum будет сохранён и "вставлен" на место $1 во второй части запроса.

 

Проверить правильность решения мне сейчас негде, так что поэкспериментируй, возможно, в чем-то ошибся. Обрати внимание, что в данном примере htaccess с указанным содержимым должен быть размещён не в папке forum, а в корневой папке основного домена.

Изменено пользователем Dr.Freddy
Ссылка на комментарий
Поделиться на других сайтах

Спасибо :D

Про корневую папку я уже начала догадываться.

А вот про $1 мне точно узнать было негде.

Искала и спрашивала на сеошном форуме, не ответили.

Проверю локалхосте.

Ссылка на комментарий
Поделиться на других сайтах

Можно простеньким джава-скриптом:

<script type="text/javascript">
var oldURL='домен2.ru'
var newURL='домен2.com'
locate=location+''
if(locate.split(oldURL)!=location){
alert('Форум переехал!\nОбновите закладки вашего браузера!')
locate=locate.replace(oldURL,newURL)
location=locate
}</script>

 

Или даже проще, без проверок и оповещений:

<script type="text/javascript">
var oldURL='домен2.ru'
locate=location+''
locate=locate.replace(oldURL,'домен2.com')
location=locate</script>

Ссылка на комментарий
Поделиться на других сайтах

Спасибо.

Пока не до этого сейчас.

Спешно новый диз для переезда доделываю. Рассыпаюсь..

Проверю попозже все варианты.

Ссылка на комментарий
Поделиться на других сайтах

FatCat, очень полезно. Спасибо, работает :D
Ссылка на комментарий
Поделиться на других сайтах

Надо было тему не во флейме создавать :D)

Перенесите кто-нить в нужное место - куда, не знаю.

Ссылка на комментарий
Поделиться на других сайтах

  • 2 года спустя...

Добрый день.

 

А вот ситуация вроде бы ещё проще. Жил форум в папке forum1, а переехал в папку forum2.

Но так как переезд был со сменой движка, то сохранять структуру адресов не требуется.

Надо чтобы любое обращение по старым адресам из папки forum1 редиректилось на индексную страницу папки forum2.

 

А все стандартные простенькие примеры редиректов из папки в папку даже без всяких знаков доллара великолепно сохраняют хвосты урлов. И адрес http://site.com/forum1/abrakadabra преобразуется не в http://site.com/forum2/, а в http://site.com/forum2/abrakadabra

 

Пожалуйста, расскажите, что написать в .htaccess, чтобы всё старьё отсылалось на главную нового форума?

Ссылка на комментарий
Поделиться на других сайтах

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.