Дайте совет (про VPS)

(Ответов: 16, Просмотров: 2209)
Страница 1 из 2 12 Последняя
  1. Новичок
    • Регистрация: 27.12.2009
    • Сообщений: 20
    • Репутация: 10
    Собственно переделал сайт, необходимо сделать 301 редирект со старых страниц на новые...

    старые страницы имели вид: www.site.com/index.php?page=1

    Новые страницы имеют следующий вид
    www.site2.com/page/1.html

    При этом, страницы на новом сайте идут с опережением на 1.
    т.е. если статья "about us" располагалась по адресу
    www.site.com/index.php?page=1
    то сейчас эта статья находится по адресу
    www.site2.com/page/2.html

    помогите правильно сформировать .htaccess
    • 0
  2. Banned
    • Регистрация: 08.09.2009
    • Сообщений: 1,478
    • Репутация: 80
    • Webmoney BL: ?
    web server какой? nginx?
    • 0
  3. Опытный Аватар для lol
    • Регистрация: 28.05.2009
    • Сообщений: 459
    • Записей в дневнике: 1
    • Репутация: 42
    редиректы:
    1.
    Простой редирект (в файле .htaccess или httpd.conf для Apache):
    Redirect 301 / http://www.you.com/new.htm
    где:
    Redirect 301 - это инструкция, говорящая что страница перемещена
    / - означает, что все с верхнего уровня сайта, включая все подкаталоги, будет переадресовано
    http://www.you.com/new.htm - новая страница или сайт (не забывайте поставить последний "/", если переадресация идет на сайт).

    Чтобы переадресовать только страницу, сохранив PR старой страницы:
    Redirect 301 /old/old.htm http://www.you.com/new.htm
    где:
    /old/old.htm - путь и имя старой страницы

    Аналогичный синтаксис для переадресации сайта:
    RedirectPermanent / http://www.you.com/
    Пример переадресации каталога:
    RedirectPermanent /old-directory http://www.domain.com/new-directory/

    Например, зашедших в test переадресуем на www.test.com, остальных на enter.test.com (порядок следования записей важен):

    Redirect permanent /test http://www.test.com/
    Redirect permanent / http://enter.test.com/

    Примечание: для моих целей (изменение домена) хватило первого варианта простого 301 редиректа.
    2.
    Использование mod_rewrite (прописывается в файле .htaccess):

    Ставшая классической задача слияния имена сайта с www и без него, решается так:

    Options +FollowSymLinks
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^yoursite\.com
    RewriteRule ^(.*)$ http://www.yoursite.com/$1 [R=permanent,L] .

    или альтернативный синтаксис:

    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
    RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

    Обозначение [R=301,L] означает: перенаправить клиента и отправить ему код статуса 301 (R=301) и сделать это правило последним (L).

    Редирект старого домена на новый:

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

    Например, если необходимо чтобы вместо rewrite.htm загружался файл rewrite.html, добавьте в .htaccess:

    RewriteEngine on
    RewriteBase /
    RewriteRule ^rewrite\.htm$ rewrite.html [R=permanent]

    Для замены всех .htm файлов .html файлами:

    RewriteEngine on
    RewriteBase /
    RewriteRule ^(.*)\.htm$ $1.html [R=permanent]

    3.
    Редирект на PHP:

    <?php
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: http://www.newdomain.ru/newdir/newpage.htm");
    exit();
    ?>

    Лучше указать HTTP/1.1, так как более старые не поддерживают виртуальный хостинг. Не забудьте, что до вызова header, ничего не должно выводиться (например, echo или print). Поэтому этот код лучше ставить в начало php-скрипта. Более полный вариант php редиректа с сохранением передаваемой страницы и параметров вызова:

    <?
    $ref=$_SERVER['QUERY_STRING'];
    if ($ref!='') $ref='?'.$ref;
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: http://newdomain.com/'.$ref);
    exit();
    ?>

    4.
    Редирект на ASP

    <%@ Language=VBScript %>
    <%
    Response.Status="301 Moved Permanently"
    Response.AddHeader "Location", "http://www.new-url.com"
    response.end
    %>

    5.
    Редирект на ASP.NET

    <script runat="server">
    private void Page_Load(object sender, System.EventArgs e)
    {
    Response.Status = "301 Moved Permanently";
    Response.AddHeader("Location","http://www.new-url.com");
    }
    </script>

    6.
    Редирект на ColdFusion

    <.cfheader statuscode="301" statustext="Moved permanently">
    <.cfheader name="Location" value="http://www.new-url.com">

    7.
    Редирект с помощью meta refresh

    <meta http-equiv='refresh' content='0; url=http://newdomain.com'>

    где 0 - задержка переадресации в секундах, newdomain.com -страница, куда переадресуем. Некоторые старые браузеры не поддерживают meta refresh со значением 0, для совместимости можно установить ненулевой значение, хотя, на мой взгляд это уже не актуально. Такой редирект не сможет склеить ваши сайты (с www и без) и передать PR, так как игнорируется поисковыми системами. Он возвращает код 200 OK, что соответствует обычной странице. Эта техника популярна у ****еров, поэтому ее стоит применять только для страниц, которые не будут индексироваться.
    8.
    Редирект с помощью JavaScript

    Варианты переадресации на JavaScript чаще реализуются с использованием функции setTimeout('функция', задержка).

    Например, автоматически сделать Click на кнопке "Submit" формы "searchform" через 0.1 сек после загрузки кода:

    setTimeout('document.forms["searchform"].Submit.click()', 100);

    На кнопку "Submit" можно повесить любое действие, например, открыть новый url в этом окне. Кстати такое редиректы чаще встречаются при организации Дорвеев (DorWay) - браузер Пользователя будет переадресован на другую страницу, а поисковый робот, который "не понимает" JavaScript, будет индексировать эту страницу, недоступную пользователю. На ней дорвейщики размещают текст, напичканный "нужными" ключевыми словами.

    Чтобы просто переадресовать на другую страницу можно вставить после один из вариантов кода на JavaScript:
    * location="http://www.newdomain.com";
    * document.location.href="http://www.newdomain.com";
    * window.location.reload("http://www.newdomain.com");
    * document.location.replace("http://www.newdomain.com");
    В последнем случае уже нельзя будет вернуться на страницу выполнившую переадресацию, так как ее адрес стирается из history, что нередко и нужною. Если нужна задержка по времени, можно оформить location="http://www.newdomain.com"; в виде функции и вставить ее в setTimeout('функция()', задержка_в_мсек); Редирект на JavaScrupt не является 301 редиректом и не передаст PR страницы, не сможет обеспечить ее склейку.

    Отметим дополнительно некоторые особенности редиректов:

    * Методы редиректа с .htaccess работают только на Linux серверах, имеющих Apache с включенным модулем Mod-Rewrite.
    * Использование .htaccess создает дополнительную нагрузку на сервер Apache, более эффективно прописывать те же команды в его конфигурационном файле hpptd.conf, но, как правило, к нему нет доступа у вебмастера.
    * 301 редирект, позволяет сберечь трафик и передать PR страницы для поисковых систем (для Google точно).
    * процесс склейки и передачи PR занимает длительное времени - до нескольких месяцев и также зависит от поисковой системы, поэтому не удаляйте старую страницу или сайт, пока не произойдет окончательный перенос.
    * некоторые поисковые системы требуют для склейки сайтов дополнительных настроек, например, для Яндекса нужно дополнительно прописывать robots.txt

    Заключение. Безопасный способ редиректа старых страниц на новые или старого сайта на новый адрес, с сохранением позиций в поисковых системах, заключается в использование 301 редиректа, который также позволит вам передать старый Page Rank страницы на новый сайт.

    Более подробно про mod_rewrite можно прочитать на:
    http://www.engelschall.com/pw/apache/rewriteguide/
    http://www.apache.org./docs/mod/mod_rewrite.html

    Проверить корректность редиректа и других возвращаемых заголовков, можно, например, здесь:
    http://www.rexswain.com/httpview.html
    подпись
    • 0
  4. Студент
    • Регистрация: 15.12.2009
    • Сообщений: 42
    • Репутация: 11
    Цитата Сообщение от ralliart Посмотреть сообщение
    web server какой? nginx?
    Апачи 2.2

    vap76, эти правила склейки и переноса я знаю. у меня другая проблема, читай первый пост. в этих советах ответа не нашел. плиз, кто знает помогите, оч нужно!
    • 0
  5. Дипломник
    • Регистрация: 11.12.2009
    • Сообщений: 165
    • Репутация: 35
    А страниц много? Может вручную прописать?
    Если много можно скриптом сделать, что бы подбирал по урлу страницу, которая заменена. Вот на пыхе редирект 301-ый:
    <?php
    header(“HTTP/1.1 301 Moved Permanently”); // отсылаем заголовок
    header(“Location: http://site.ru/newpage/”); // и тут же перекидываем куда надо
    exit();
    ?>
    • 0
  6. Member
    • Регистрация: 26.09.2009
    • Сообщений: 47
    • Репутация: 12
    <?php
    header(“HTTP/1.1 301 Moved Permanently”); // отсылаем заголовок
    header(“Location: http://site.ru/newpage/”); // и тут же перекидываем куда надо
    exit();
    ?>
    с эти вариантом редирект будет постоянно идти в одно и то же место. в location, а нужно, как я понял, в зависимости от страницы (!) делать редирект на ее новую версию.

    CMS какая? самописная?
    • 0
  7. shows Аватар для mazder
    • Регистрация: 08.09.2009
    • Сообщений: 1,709
    • Репутация: 35
    Цитата Сообщение от mall Посмотреть сообщение
    с эти вариантом редирект будет постоянно идти в одно и то же место. в location, а нужно, как я понял, в зависимости от страницы (!) делать редирект на ее новую версию.

    CMS какая? самописная?
    страниц более 500
    цмс самописная. насчет переадресации вы все правильно поняли.
    • 0
  8. Banned
    • Регистрация: 07.01.2010
    • Сообщений: 710
    • Репутация: -18
    Сейчас использую firstvds, крутится на нём блог и пара проектов. Проекты чувствуют себя нормально, а вот блог на WP тормозит, так что именно под этот двиг не рекомендую.
    • 0
  9. Banned
    • Регистрация: 08.09.2009
    • Сообщений: 1,478
    • Репутация: 80
    • Webmoney BL: ?
    Если на впс тормозит блог, значит там у тебя реально дохрена большой блог) с хостинга попереть могут
    • 0
  10. Дипломник
    • Регистрация: 15.12.2009
    • Сообщений: 125
    • Репутация: 7
    У самого фирств вдс(тариф вроде разго+докуплено памяти). Около 30 сайтов, около 5 на wp. Ничего не томрозит, все супер. Правда очень редко падает(решается добавлением памяти)))
    • 0
Страница 1 из 2 12 Последняя

Похожие темы

Темы Раздел Ответов Последний пост
Дайте баннеры для тезеров
Партнерские программы 21 26.09.2010 16:58
Обмен ссылками или дайте совет.
Блоги 4 24.02.2010 20:13
Обмен ссылками или дайте совет.
Вопросы от новичков 2 01.02.2010 13:08
Дайте инвайт для www.funnews.biz
Оффтоп и свободные темы 0 24.01.2010 20:24
Дайте инвайт на domain4seo
Оффтоп и свободные темы 2 10.09.2009 01:49

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры