2012-01-31 1 views
0

Сервер apache, а не то, что я знаю, что это значит.redirect 301 - страница для страницы (apache) html to htm и non www

потребности/примечания:

  1. перенаправлять все визиты к www.oldsite.com и oldsite.com к www.newsite.com
  2. старый сайт использует расширение .html и новый сайт использует .htm
  3. примерно половина имен файлов в новом сайте совпадает с именами старого сайта, поэтому мне нужно указать перенаправление для каждой страницы.

Вот пример кода:

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule (.*) http://www.newsite.com/$1 [R=301,L] 

redirect 301 /index.html http://www.newsite.com/index.htm 

redirect 301 /pagetwo.html http://www.newsite.com/pagetwo.htm 

redirect 301 /pagethree.html http://www.newsite.com/thishasanewname.htm 

В настоящее время это работает для домашней страницы, когда типы, как только WWW, но это так. Может ли кто-нибудь помочь, рассказав мне, как достичь всех моих целей в одном:

Подводя итог, мне нужно перенаправить весь трафик со старого сайта на новый сайт, где имена файлов html не всегда совпадают, я начал использовать .htm где старый сайт использует .html, и мне нужно посещать оба www. и не www версия старого сайта для перенаправления на www-версию нового сайта.

Пожалуйста, помогите мне кто-то - я не программист, и этот материал очень трудно для меня

Doug

+0

HTTP-перенаправления с apache очень эффективны - вам, вероятно, стоит потратить время, чтобы узнать, как они работают, иначе вы всегда будете удивляться, как добиться чего-то подобного. В Интернете есть много хороших обучающих программ, попробуйте прочитать несколько! Это сделает вас лучшим программистом. – tjarratt

+0

Я бы с удовольствием, и я пытаюсь - я изучаю html5, css3 и js прямо сейчас, и это потрясающе, но мне это нравится. Между книгами и stackoveflow я учу себя, и мне это нравится - когда есть такие ресурсы, вы знаете, что это правильный выбор. –

ответ

1

Заменить правила в вашем .htaccess выше приведенных ниже.

Options +FollowSymLinks 
RewriteEngine on 
RewriteBase/

#1 Redirect home page old->new 
RewriteCond %{HTTP_HOST} oldsite\.com$ [NC] 
#send home page from old to new 
RewriteRule ^$ http://www.newsite.com [L,R=301] 

#2 place redirects here that do not have exact equivalents on newsite 

#3 section 
RewriteCond %{HTTP_HOST} oldsite\.com$ [NC] 
#send requests for html to htm (assuming everything else is the same) 
RewriteCond %{REQUEST_URI} ^(.+\.htm)l[NC] 
RewriteRule^http://www.newsite.com%1 [L,R=301] 

Раздел # 1 будет перенаправлять на главную страницу старого сайта на главную страницу нового.

Раздел # 3 будет перенаправлять http://oldsite.com/anypage.html к http://newsite.com/anypage.htm

Раздел # 2 Если есть файлы, которые не имеют точных эквивалентов на новом месте (минус .html -> .htm), как в # 3, затем разместите здесь до # 2, например

Redirect 301 /pagethree.html http://www.newsite.com/thishasanewname.htm 
+0

приветствует переадресацию как www, так и не www-версии на новый сайт, html-страницы на htm-страницы, уникальную страницу для страницы перенаправляет работу за исключением: firefox не перенаправляет версию без www? Другие браузеры делают ... любые идеи? –

+0

@DougFirr Переадресация не должна быть специфичной для браузера. Попытайтесь увидеть различия между HTTP-трафиком в Firefox против IE и т. Д., Используя что-то вроде Fiddler –