301-ая ошибка (301 Permament Redirect), возвращаемая при обращении к определенному адресу страницы, означает, что сайт был на постоянной основе перенесен на новый адрес, также указанный в HTTP заголовке. Как пользователи, зашедшие через браузер, так и поисковые боты будут перенаправляться по новому адресу, при этом, для поисковиков все свойства старого адреса (страницы) будут переданы новому URL. При 301 редиректе произойдет склейка старого и нового адресов: параметры вроде PageRank и тИЦ, а также вес страницы и ссылочный вес старого адреса будет передан новому URL.
Редирект с номером ошибки 301 (moved permanently) это наилучший способ сохранить рейтинг сайта в поисковых системах при переносе его на новый домен или смене системы управления контентом. Переадресацию можно выполнить несколькими способами, в зависимости от установленного программного обеспечения.
301 редирект в .htaccess
При использовании апача (apache) на сервере, переадресацию можно просто выполнить с помощью файла .htaccess, однако, при этом, не забыть включить модули mod_alias (для поддержки директив Redirect, RedirectPermanent и RedirectMatch) и/или mod_rewrite (для использования реврайта) в php.ini.
Редирект с помощью директивы Redirect или RedirectPermanent модуля mod_alias
Redirect 301 /old-page.html http://new-domain.ru/new-page.html
или
Redirect permanent /old-page.html http://new-domain.ru/new-page.html
Недостатком данного способа является то, что все адреса, которые необходимо перенаправить, нужно перечислять один за одним, каждый отдельно. Также можно использовать RedirectPermanent для аналогичных целей.
RedirectPermanent /old-url.html http://new-site.ru/new-url.html
Редирект с помощью директивы RedirectMatch
Этот редирект подобен предыдущему, за исключением того, что можно задавать регулярное выражение для старых URL адресов. Допустим, при смене движка с PHP на ASP, можно старые адреса перенаправить следующим образом:
RedirectMatch /(.*)\.php$ /$1.aspx
Редирект с помощью директивы RewriteRule модуля mod_rewrite
Для использования директивы RewriteRule необходимо удостовериться, что в httpd.conf подключен модуль mod_rewrite, а также влючена опция FollowSymLinks. Использование реврайт модуля дает много возможностей для перенаправления страниц на новые адреса.
Перенаправление домена с www на не-www
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
или альтернативный, более понятный синтаксис
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
Редирект запросов с не-www на домен с www префиксом
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
или же альтернативный вариант
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]
Редирект с помощью скрипта (отправки заголовков)
Редирект запросов можно осуществлять также с помощью скриптов, отправляя клиенту необходимые заголовки.
HTTP/1.1 301 Moved Permanently
Location: http://www.newdomain.ru/newdir/newpage.htm
PHP редирект
<?php
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.newdomain.ru/newdir/newpage.htm”);
exit();
?>
ASP редирект
<%@ Language=VBScript %>
<%
Response.Status=“301 Moved Permanently”
Response.AddHeader “Location”, “http://www.new-url.com”
response.end
%>
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>
ColdFusion редирект
<.cfheader statuscode=“301” statustext=“Moved permanently”>
<.cfheader name=“Location” value=“http://www.new-url.com”>
JSP (Java) редирект
<%
response.setStatus(301);
response.setHeader( “Location”, “http://www.new-url.com/” );
response.setHeader( “Connection”, “close” );
%>
CGI PERL
$q = new CGI;
print $q->redirect(“http://www.new-url.com/”);
Ruby on Rails
def old_action
headers[“Status”] = “301 Moved Permanently”
redirect_to “http://www.new-url.com/”
end
Осуществление редиректа в nginx
if ($host = ‘www.domain.com’ ) {
rewrite ^(.*)$ http://domain.com$1 permanent;
}


169 Ответов
Alexandr
Декабрь 5, 2008 at 11:46
1А переносится и тиц и pr сразу, или только одно?
Devaka
Декабрь 5, 2008 at 11:59
2PR переносится при 301 редиректе, а вот по поводу тИЦ, он же для сайта в целом считается. Надо директиву Host в robots.txt прописывать, чтобы бот яндекса склеил старый и новый сайт и тогда тИЦ тоже склеится.
Андрей
Декабрь 24, 2008 at 15:29
3Теперь понятно, спасибо…
dimka
Январь 14, 2009 at 10:42
4Скажите, а как это реализовать к примеру на том же livejournal.com или liveinternet.ru ?
Devaka
Январь 14, 2009 at 12:25
5Боюсь, что в ЖЖ и Ли.ру редирект сделать невозможно, так как он должен выполняться на стороне сервера: .htaccess, сам исполняющийся файл или SSI вставки. Если у вас есть доступ к управлению хотя бы вашим поддоменом в ЖЖ, тогда вы сможете сделать редирект. Попробуйте поискать в настройках, однако, из своего опыта скажу, что такого я там не встречал.
Алексей
Январь 25, 2009 at 10:14
6спасибо
а когда пр перетечет, при следующем апе только?
Devaka
Январь 25, 2009 at 10:54
7PR перетечет быстро, но вы о его новом значении узнаете только после следующего апа.
Алексей
Январь 25, 2009 at 11:05
8а на выдачу как повлияет?
например, страница по запросу находится в топ10, я на ней делаю редирект на другой адрес, но страница назначения идентична, и контент и заголовки
поменяется ли адрес в выдаче гугла?
Devaka
Январь 25, 2009 at 11:17
9Алексей, теоретически да, адрес должен поменяться в Google (для склейки адресов в яндексе, необходимо использовать директиву Host в файле robots.txt). Но тут надо быть весьма осторожным. Мне, например, не приходилось приносить большие жертвы ради эксперимента.
На одном из своих сайтов менял урлы и делал редирект со старых на новые. На сайте было порядка 20-30 тыс. страниц, склейка происходила около месяца, может чуть больше (опять же, говорю про Google).
andy
Февраль 24, 2009 at 16:18
10недели две назад купил хороший домен и сделал редирект. Роботс тоже отэдитил.
Все прекрасно работает.
Вот сейчас сижу ждут перетекания тИЦ..(а его нету
RazdoR
Март 7, 2009 at 20:41
11Как сделать редирект с domen1.ru/forum на forum.domen2.ru
Devaka
Март 7, 2009 at 20:46
12@RazdoR: так и делайте, как написано выше… Если стоит apache, то в папку domen1.ru/forum кладете .htaccess файл, где прописываете 301 редирект на поддомен.
Примерно так )
сигнализатор
Март 12, 2009 at 14:09
13А в .htaccess обязательно прописывать редирект вида:
Redirect 301 /old-page.html http://new-domain.ru/new-page.html
а если будет указано:
Redirect /old-page.html http://new-domain.ru/new-page.html ?
Devaka
Март 12, 2009 at 14:37
14сигнализатор, без проблем, юзайте так, как вы показали.
Валерий
Апрель 6, 2009 at 19:44
15Сделал 301 редирект, гугль быстро сменил адреса страниц в поисковой выдаче, а вот яндекс до сих пор старые адреса выдает.
(прошло дней 10-15). Или для яши нужны свои правила?
У меня блог стоит в корне домена, я его перенес в папку, а в корне хочу сделать сайт.
Я делал редирект всего сайта на директорию…Подождать реиндексации. снять редирект и делать сайт в корне. Но время поджимает а яндекс не шевелиться.
Я так понял, лучше каждую страницу прописать 301 редиректом (около 50 стр).
То есть примерно так?
Redirect 301 /old-page.html http://new-domain.ru/new-page.html
Redirect 301 /old-page1.html http://new-domain.ru/new-page1.html
Redirect 301 /old-page2.html http://new-domain.ru/new-page2.html
Redirect 301 /old-page3.html http://new-domain.ru/new-page3.html
Или естть другой способ? А может просто не париться и плюнуть на яшу?
GPS
Апрель 8, 2009 at 22:25
16Привет,
> RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
> RewriteRule ^(.*)$ http:\/\/www\.%{HTTP_HOST}\.\/$1 [R=301,L] (маска конечного адреса поправлена)
в RewriteCond нужно добавить маску, проверяющую, что URL не является IP. Иначе, если сайт на выделенном адресе и пользователь ввел IP в браузер (мало ли по какой причине) получим xxx.xxx.xxx.xxx -> WWW.xxx.xxx.xxx.xxx
Zomb1e
Апрель 12, 2009 at 21:18
17тогда уж вот так:
RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
RewriteRule ^(.*)$ http:\/\/www\.%{HTTP_HOST}\.\/$1 [R=301,L]
а то в rewriterule, предложенным комрадом GPS, после {HTTP_HOST} добавляется лишняя точка.
Алена
Апрель 15, 2009 at 09:30
18Здравствуйте!
Спасибо за пост.
Только у меня не работает 301 редирект
Redirect 301 /old-page.html http://new-domain.ru/new-page.html
прописала для нужных страниц в .htaccess
Ответьте, пожалуйста, в чем может быть причина
http://www.extremegamez.ru/
Devaka
Апрель 15, 2009 at 09:52
19Алена, нужно убедиться, что включен модуль mod_alias в апаче. Или же используйте вместо этого rewrite модуль. Вариантов же редиректа множество, как видите. Попробуйте несколько разных. Если не получится, то просите админа сервера вам помочь.
WizART
Апрель 20, 2009 at 11:52
20А что все-таки в robots.txt для Яндекса вписать для редиректа – можно подробнее?
mynewgaleon
Апрель 20, 2009 at 17:51
21Спасибо огромное. Долго искал подобную статейку
Жека
Май 18, 2010 at 11:55
22вопрос такой: а www.mysite.ru (pr3) www.mysite.ru/index.htm (pr2) следует ли сливать через редирект 301?
Добров Константин
Май 20, 2010 at 10:01
23Меня интересует такой момент: при настраивании редиректа старого домена на новый – у меня robots.txt тоже переадресовывается. Я не пойму – как это исправить – что бы robots.txt не переадресовывался вместе со всем сайтом???
Редирект делаю так:
RedirectMatch 301 /(.*) http://www.newsite.ru
Т.е. все переадресовываю на главную страницу нового сайта. Стоит ли так вообще делать?
И все-таки, как сделать – что бы robots.txt не переадресовывался.
Сергей
Май 22, 2010 at 16:48
24а если прописывать в robots.txt host: domen , то поисковики произведут склейку домена)))))))))
Alexey
Май 24, 2010 at 16:09
252Сергей: как раз и надо прописывать в роботс.ткст хост:домен чтобы кто-то не склеил свой домен с твоим
Влад
Май 25, 2010 at 09:48
26Уважаемый автор и коментаторы! Что вы можете подсказать по поводу возможности передачи ТИЦ и Pr с одного домена на другой
если тематика этих сайтов отличается и это разные сайты.
То есть – есть домен (сайт с него перенесли на другой домен) с ТИЦ и Pr и нужно както ТИЦ и Pr перенести на совсем другой сайт по тематике.
Каке варианты использовать ТИЦ и Pr для повышения ТИЦ и Pr целевого сайта?
Dante
Май 27, 2010 at 21:07
27Автор, огромное спасибо за статью. Очень пригодилась! Как раз сменил движок на сайте, очень нужен редирект:)
Респект тебе и уважуха!
artem
Июнь 1, 2010 at 12:24
28в htaccessя прописал так
Redirect 301 /production/catalog/38?PHP=cceddb78b46be00c6584aedfb7acd18b http://www.uvservice.ru/production/catalog/38
но почему-то не работает редирект. Имеет значение где в htaccess стоит эта запись в начале или в конце? а может нужно apach перезапустить?
или может кто знает как сделать 301 аналогичный указному выше редирект используя
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond RewriteRule
</IfModule>
Orlangur
Июнь 2, 2010 at 21:10
29Как мне с помощью RewriteRule превратить ссылку http://mydomain.com/catalog/index.php?page=3 в http://mydomain.com/catalog/page_3/ чтоб обязательно 301 редирект был. Помогите никак не получается.
man
Июнь 3, 2010 at 10:22
30Редирект сделали, пузомерки перетекли на новый домен. Старый со временем удаляем /просрочен скажем/. Внешнее ссылочное было на старый домен и при редиректе учитывалось для нового. После удаления старого домена получается что внешнее ссылочное для нового домена утеряно. Или я не до конца понимаю последствия такого “переезда” ?
vedroid
Июнь 5, 2010 at 13:26
31Перепробовал все кроме редиректа с php – не редиректится у меня почему-то (((
Делал так:
Redirect 301 http://flora-online.ru/catalog.php?cat=podsoln http://www.flora-online.ru/podsolnuhi/
а нужно-то всего-навсего перенаправлять максимум страниц 10 с /catalog.php?cat=podsoln на новую страницу http://www.flora-online.ru/podsolnuhi/
Стоит Joomla SEO (кстати Artio тоже почему-то не перенаправляет)
Пробовал и RedirectPermanent, и Redirect Permanent, и Redirect 301, и с/без www, и с/без http://www.flora-online.ru/ – результат один – загружается главная страница :(
Где я мог накосячить?
Спасибо
egorch
Июнь 6, 2010 at 15:35
32Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
спасибо за такую абракадабру она действительно работает. Хороший сайт и автору статьи спасибо.
Life-trip
Июнь 9, 2010 at 00:10
33А если блог открывается нормально и с www и без, значит редирект уже сделан, да?
style.ilya
Июнь 13, 2010 at 16:56
34Вот еще полезная штука, как сделать редирект с index.php на корень сайта.
Для редиректа 301 вида “ваш_сайт/index.php” на “http://ваш_сайт/” :
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://ваш_сайт/ [R=301,L]
Vladimir
Июнь 20, 2010 at 18:56
35Стоит ли запрещать в robots.txt сылки с 301 редиректом?
Life-trip
Июнь 20, 2010 at 19:30
36Мне не ответили, но я попробую еще один вопрос задать. У меня на блоге вордпресовском в адрес страниц включено название категории сайт/категория/пост. Если я уберу оттуда категорию, то все страницы вылетят из индекса. Подскажите как сделать чтобы не вылетели. Прописать где то редирект? на все старые адреса?
Hmury
Июнь 23, 2010 at 16:56
37Как ни странно, но “Редирект запросов с не-www на домен с www префиксом” не работает так, как нужно… Все замечательно, но при попытке перейти на главную http://site.ru получаем вместо http://www.site.ru адрес http://www.site.ru/site.ru/
А во втором из предложенных вариантов – вообще http://www..com/
Devaka
Июнь 23, 2010 at 17:05
38Hmury, используйте логгинг в мод-реврайте.
httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriteloglevel
Hmury
Июнь 23, 2010 at 20:36
39Спасибо, разобрался – оказывается это Джумла виновата, точнее sh404sef, установленный на ней. В нем в настройках был забит основной адрес сайта именно без www…
А так все работает без дополнительных изменений.
Nata
Июнь 29, 2010 at 20:50
40Подскажите пожалуйста. А как сделать лучше сели у меня есть поддомен основного сайта. По совсем другой тематике. Сайт по тихоньку раскручивается. Хочу сделать из него самостоятельный сайт а не поддомен. Как лучше это сделать? Заранее благодарю за ответ.
vedroid
Июнь 29, 2010 at 22:30
41по ходу тут только избранным отвечают :(
Devaka
Июнь 29, 2010 at 22:41
42vedroid, в тех вопросах, которые касаются “где я накосячил”, к сожалению, я некомпетентен, так как подробно не знаком с деталями, подобное стоит обсуждать с администратором или запостить на фрилансерский сайт. А также используйте логи.
Nata, это вам решать, как лучше сделать. И в первом и во втором варианте есть свои преимущества и недостатки.
DEM84
Июль 3, 2010 at 12:30
43Добрый день. Прошу совета.
Есть сайт, на котором до недавнего времени был только форум, расположенный в корне (IPB). Сейчас сайт модернизирован, форум целиком переехал в папку /forum, а в корне расположен другой движок и полноценный сайт на нем.
Как сделать 301 редирект, чтоб со старых страниц форуме редиректило на новые, расположенные в папке /forum? Просто редирект всего из корня в эту папку – не выход, так как необходимо, чтоб в корне полноценно отображался новосозданный сайт.
Спрашивал уже в различных местах, нигде не могу дать рабочее решение, к сожалению:(
Devaka
Июль 3, 2010 at 23:49
44DEM84, попробуйте подобную конструкцию в корне сайта в htaccess добавить:
Здесь вторая и третья строчка проверяют отсутствие запрашиваемого в урле файла и если его нет, то происходит реврайт, в данном случае редирект всех страниц с 301 ошибкой на раздел /forum/.
По идее должно помочь. Соответственно, в подкаталоге форума необходимо оставить его родной htaccess, чтобы первый не наследовался.
DEM84
Июль 4, 2010 at 11:44
45Devaka, большое спасибо! Ваша конструкция подошла частично: для облегченной версии форума, к примеру, которая имеет адрес типа http://site.ru/forum/lofiversion/index.php/t221.html
А загвоздка в том, что на форуме обращение ко всем остальным страницам идет через index.php:
http://site.ru/forum/index.php?showtopic=xxx
http://site.ru/forum/index.php?showforum=xxx
http://site.ru/forum/index.php?showuser=xxx
В то же время в корне обновленного сайта тоже есть index.php (от нового движка), который открывает главную страницу.
Нет ли такого метода, чтоб редиректить на /forum все обращения к index.php с любыми параметрами в УРЛе?
Devaka
Июль 4, 2010 at 15:46
46DEM84, используйте конструкцию QUERY_STRING для этих целей.
Примерно (!) так:
Поищите на форумах другие возможные решения. Я думаю выход есть.
Олег
Июль 17, 2010 at 06:08
47Добрый день всем!
Попробовал все вышеперечисленные методы – не помогает.
А суть в том, чтобы при наборе адреса oooknt.ru открывалась бы страница oooknt.ru/potolki/.
При этом главная страница существует, но для компании приоритет oooknt.ru/potolki/
Михаил
Июль 21, 2010 at 12:54
48Добрый день! Перенаправляю сайт http://www.mera-systems.com/
Пробую перенаправить 1 страницу http://www.mera-systems.com/support/ на http://www.aloe-systems.com/support
Redirect 301 /support http://www.aloe-systems.com/support$
Он перенаправляется только адрес становится http://www.aloe-systems.com/support$?q=support
Скажите что я делаю неправильно? почему появляется лишнее в адресе ?q=support
Буль
Август 2, 2010 at 00:46
49301 редирект – незаменимая штуковина, пасиб за статейку, все понятно ;)
Игорь
Август 6, 2010 at 12:34
502Михаил
Попробуй так Redirect 301 /support http://www.aloe-systems.com/support/
или RedirectPermanent /support http://www.aloe-systems.com/support/
А если тебе надо весь сайт перенаправить то не заморачивайся с переносом отдельных страниц.
Donat
Август 10, 2010 at 14:29
51Прочитал все что писали выше, но как сделать грамотно. Есть сайт http://www.donat.com (Pr3, Tц10) (сделан на joomla, стоит JoomSEF компонент), в связи с указом в РБ вынужден сделать сайт в Зоне BY.
Вопросы: – Как мне правильно сделать редирект на http://www.donat.by/ , чтобы сохранить позиции в ПОИСКОВИКАХ и показатели? – И какой указать домен в robots.txt на хосте с доменом donat.com ? – После слияния, можно забить на домен com, можно менять роботс и хтасе и лить другие сайты на хост?
Заранее благодарен.
p.s. donat – это пример
Денис
Август 13, 2010 at 00:23
52Добрый вечер или день, подскажите, был сайт camping-profi.com.ua/jomla решил спрятать joomla результат – camping-profi.com.ua/ для перенаправления в самом конце файла .htaccess было написано –
Redirect 301 /joomla/ http://camping-profi.com.ua/index.php
в включении mod_rewrite не изменилось ничего выглядит так –
## Can be commented out if causes errors, see notes above.
Options +FollowSymLinks
# # mod_rewrite in use
RewriteEngine On
А теперь сама проблема- на данный момент при индексации с joomla в гугле уже 600 ошибок 404 при том когда кликаешь на URL с ошибкой нету перехода на новый URL, Помогите и если не тяжко, разжуйте, уже голова кипит и нервы сдают.
бродЯга
Август 20, 2010 at 12:47
53Толковая статья и толковый блог.
Вопрос по теме статьи:
подскажите ответ на такой вопрос. Допустим, на сайт можно попасть по ЛЮБОМУ домену третьего уровня, при этом всегда открывается основная страница домена. Но есть домены третьего уровня, которые обрабатываются директивами RewriteCond+RewriteRule и идет перенаправление на подстраницы домена.
.htaccess получается примерно такого вида:
RewriteCond %{HTTP_HOST} ^web1.site.ru
RewriteRule ^ http://www.site.ru/web1.html [R=301]
RewriteCond %{HTTP_HOST} ^web2.site.ru
RewriteRule ^ http://www.site.ru/web2.html [R=301]
RewriteCond %{HTTP_HOST} ^web3.site.ru
RewriteRule ^ http://www.site.ru/web3.html [R=301]
Как сделать так, чтобы не прописанным доменам web4.site.ru, web5.site.ru и т.д. показывалась страница об ошибке?
Сашка
Август 21, 2010 at 19:44
54Чпасибо за статью, все грамотно и внятно описано, но я ставил просто на хостинге в панеле управления редтрект со старого домена на новый, и ниче писать не надо было, все и так перешло)
Игорь
Август 23, 2010 at 10:19
55Здравствуйте. Подскажите, пожалуйста, что мне нужно прописать в .htaccess, если раньше в корне сайта была папка /articles/ и в ней располагались файлы с таким урлом http://www.site.ru/articles/art1.html.
Сейчас всё то же самое (в плане расположения), но мне нужно сделать 301 редирект со старой страницы (которой больше нет) /articles/ на articles.html. Получается, что если я прописываю
Redirect 301 /articles/ http://www.site.ru/articles.html, это правило будет действовать для всех низлежащих папок.
Помогите, пожалуйста, подскажите, что в моём случае должно быть прописано в основном .htaccess и что нужно прописать в том .htaccess, который будет в папке /articles/?
Заранее спасибо.
Onore
Август 31, 2010 at 22:03
562 Игорь возьмите и попробуйте…
yanavit
Сентябрь 2, 2010 at 20:32
57подскажите как сделать PHP редирект с КОНКРЕТНОЙ страницы НА КОНКРЕТНУЮ
Mike
Сентябрь 20, 2010 at 13:25
58Перенесли сайт – домен тот же, но в ГГЛ написали “обратите внимание на то, что у вас теперь на всех страницах, где размещены обзоры, возвращается 301 редирект, это не дает нашему роботу нормально проверять наличие обзоров. Необходимо решить эту проблему с редиректом.”
Что делать? Кто подскажет?
Оксана
Сентябрь 24, 2010 at 18:49
59Подскажите пожалуйста, а если при покупке нового домена не делать редирект. Пузомерки со старого домена перейдут на новый ?)
Wasya
Сентябрь 27, 2010 at 22:07
60Добрый день!
Подскажите пожалуйста, как сделать 301 редирект со страницы /index.php?id=1 на http://www.mydomain.com/blabla.html ?
Насколько я понимаю, у меня загвоздка в “?” в урле для редиректа. Никак заэкранировать его не получается. Что делать в таких случаях?
Ник
Октябрь 7, 2010 at 02:48
61Подскажите, может кто сталкивался.
На домене, который существует несколько лет (и занимает хорошие позиции в выдаче) был произведен редизайн со сменой CMS, соответственно url всех страниц изменились, но содержание сталось прежним (тексты, картинки). Старые страницы были полностью удалены с хоста. В поисковой выдаче пока выдаются старые url. Редирект в .htaccess с несуществующих страниц на новые не возможен. Или можно как-то осуществить?
Как показать поисковику, что сохраненная им копия каждой станицы теперь находится по новому адресу?
kazakofsky
Октябрь 21, 2010 at 22:09
62Скажите пожалуйста, как организовать редирект всех страниц старого домена site1.ru (учитывая и c www и без www) на ГЛАВНУЮ страницу новго домена www.site2.ru . Сколько ни гуглил, так и не нашел.
Serj
Октябрь 31, 2010 at 10:29
63из за опр глюков в джумле нужно прописать редирект такого типа в файле .htaccess
есть
/forum/latesttopics/далее любая директория или файл
должен редиректить на
/forum/recent/latesttopics/далее любая директория или файл
Андрей
Ноябрь 1, 2010 at 22:56
64Сергей, вы не подскажите как сделать редирект с домена на определенный УРЛ и чтобы при этом можно было зафиксировать посещения на счетчике с первого домена.
Ольга
Ноябрь 8, 2010 at 16:01
65Сделала Редирект с помощью директивы RewriteRule модуля mod_rewrite с www на не-www. Как узнать, что редиректится? При наборе www.site.ru должно отображаться в адресной строке site.ru, или это работает только для поисковиков?
wellsait
Ноябрь 9, 2010 at 10:55
66Спасибо за статью. А для бесплатного хостинга “народ” это все прокатит?
Egor
Ноябрь 16, 2010 at 18:39
67Модернизация движка привела к тому что страница
/tag/(все что угодно)
ни куда не ведет.
Как сделать редирект с
/tag/(все что угодно) -> / (главную сайта)
Спасибо.
Laila
Ноябрь 19, 2010 at 18:59
68Тут писали, что в ЖЖ нельзя сделать редирект на другой домен.
А на блогспоте можно или нет? Хотелось бы склеить блог на блогспоте с новым блогом .ru
Владимир Михайлович
Декабрь 2, 2010 at 12:53
69Два месяца назад я сменил доменное имя своего сайта с субдомена на домен второго уровня.
Для перенаправления настроил редирект на хостинге старого домена.
Но в поиске Яндекса появилась только первая страница сайта, остальные только загружены роботом. как сделать так, чтобы все страницы участвовали в поиске.
В остальных поисковиках все нормально.
В .htaccess прописано:
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^pensioner.vollar.ru$ [OR]
RewriteCond %{HTTP_HOST} ^www.pensioner.vollar.ru$
RewriteRule ^(.*)$ “http\:\/\/www\.webpensionery\.ru\/$1” [R=301,L]
Анрей
Декабрь 9, 2010 at 14:40
70Вот нормальный вариант для перехода с site.ru/request_url на www.site.ru/request_url
RewriteCond %{HTTP_HOST} ^site.ru$ [NC]
RewriteCond %{REQUEST_URI} /(.+) [NC]
RewriteRule /(.+) http:\/\/www\.site\.ru/$1 [R=301,L]
Владимир Михайлович
Декабрь 9, 2010 at 14:58
71Вы меня неправильно поняли. Мне надо перейти с адреса pensioner.vollar.ru на адрес www.webpensionery.ru
А то,что я показал в предыдущем комменте, выдал редирект хостинга, на котором установлен сайт pensioner.vollar.ru
Вашим языком: мне надо сделать редирект site.ru/request_url на newsite.ru/request_url , но желательно с www.
Андрей
Декабрь 9, 2010 at 15:40
72попробуйте так:
RewriteCond %{HTTP_HOST} (www\.)?pensioner\.vollar\.ru$ [NC]
RewriteCond %{REQUEST_URI} /(.+) [NC]
RewriteRule /(.+) http:\/\/www\.webpensionery\.ru/$1 [R=301,L]
Владимир Михайлович
Декабрь 9, 2010 at 16:35
73При переходе с pensioner.vollar.ru по редиректу на www.webpensionery.ru показывает 404 ошибку.
Андрей
Декабрь 9, 2010 at 16:44
74попробуйте так:
RewriteCond %{HTTP_HOST} (www\.)?pensioner\.vollar\.ru$ [NC]
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteRule / http:\/\/www\.webpensionery\.ru/ [R=301,L]
RewriteCond %{HTTP_HOST} (www\.)?pensioner\.vollar\.ru$ [NC]
RewriteCond %{REQUEST_URI} !^/$ [NC]
RewriteCond %{REQUEST_URI} ^/(.+)$ [NC]
RewriteRule /(.+) http:\/\/www\.webpensionery\.ru/$1 [R=301,L]
Сайты с одинаковым содержимым?
Владимир Михайлович
Декабрь 9, 2010 at 17:31
75Да.
Мне нужна только переадресация, чтобы потом убрать старый сайт из поиска.
Он был у меня на поддомене, но т.к. получил популярность и ко мне пошли клиенты-пенсионеры, я хотел бы перевести его на самостоятельный домен, чтобы он ни от чего и ни от кого не зависел.
Георгий
Декабрь 28, 2010 at 12:01
76Добрый день! А вот распространенная проблема. И пока не нашел её решения.
Что если мне необходимо реализовать переход на ЧПУ, но сайт был старый и авторитетный и я одновременно хочу поставить редирект со старых страниц на новую.
Получается что страница редиректится на саму себя – цикл получается. Подскажите как решить эту проблему.
Мишаня
Январь 27, 2011 at 23:22
77Здравствуйте!
Я так и не понял как менять редирект без www на www, на ngix можно пошагово объяснить?
Заранее спасибо!
Имя
Февраль 7, 2011 at 21:21
78Про ASP.NET чушь написано, правильно: Response.RedirectPermanent();
Михаил
Февраль 9, 2011 at 16:19
79Добрый день люди! Подскажите как сделать редирект на домен.рф
пробовал и так Redirect 301 / http://www.xn——7sbb1aeacc3asltpd9d0h.xn—p1ai/
и так RewriteCond %{HTTP_HOST} ^www\.o\-pt\.ru
RewriteRule ^(.*)$ http://www.xn——7sbb1aeacc3asltpd9d0h.xn—p1ai/$1 [Rermanent,L]
редиректит, но выводит пустую страницу
anderiuz
Февраль 9, 2011 at 17:34
80А где этот nginx искать? В настройках DNS домена?
Михаил
Февраль 11, 2011 at 15:22
81Подскажите как из перенаправления убрать директорию? чтобы весь сайт перенаправлялся, кроме конкретной директории и всё что в ней?
Дэл
Февраль 18, 2011 at 01:38
82Доброго времени суток! Что случилось с моим сайтом, кто подскажет? После изменения файла htaccess (было прописано с этой статьи:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
сайт перестал открываться, если вводить его без www
Вернув прежнюю редакцию файла htaccess в корень сайта, НИЧЕГО НЕ ИЗМЕНИЛОСЬ! Сайт по-прежнему открывается только при вводе его с www.
Люди, помогите! Объясните, пожалуйста, что случилось и как это исправить!!!!!!!!!!!!!!!!!
Мой сайт, где возникла проблема: www.ceo-ring.ru
И еще вопрос. В указанном выше коде нужно подставлять вместо слова domen свой домен и зона ru? Мною испробованы оба варианта, безрезультатно.
Огромнейшее спасибо тем, кто откликнется помочь в моей беде!!!
Tyrael
Февраль 19, 2011 at 01:49
83Как сделать редирект со всех страниц старого домена на главную страницу нового домена, через .htaccess
Побывал так:
RewriteEngine ON
RewriteCond %{HTTP_HOST} ^domail1\.ru$ [NC]
RewriteRule ^.*$ http://domail2.ru/ [R=301,L]
Но остается мусор, например:
http://domail1.ru/index.php?id=12312321&s=sadkfgawefc
редиректит на
http://domail2.ru/?id=12312321&s=sadkfgawefc
Как избавится от ?id=12312321&s=sadkfgawefc ?
Помогите пожалуйста.
mod
Февраль 19, 2011 at 03:44
84Приветствую Сергей, у меня следующий вопрос.
Собираюсь сайт перенести на новый домен, возможно ли сделать редирект, такой чтоб юзер оставался на старом сайте и не видел нового сайта, а редирект только для робота. Объясню для чего мне это есть сайт. который занимает хорошие позиции в яндексе, но с компаньоном мы расстаемся ему остается домен. а мне весь сайт, хочется чтоб новый домен занял хотя бы приблизительные позиции старого сайта, а когда новый выйдет на позиции снять редирект.
Заранее благодарен.
ЗЫ: просто с редиректом не работал не когда
Киевмастер
Февраль 21, 2011 at 17:00
85Спасибо за исчерпывающую информацию. Сейчас попробую реализовать редирект при помощи .htaccess
Вячеслав
Февраль 22, 2011 at 16:32
86Перевел свой сайт на ВП, теперь мучаюсь с редиректом. Беков приличное количество и не хотелось бы терять проделанный труд.
Много ссылок на внутряки вида http:…/UA/…/statti/zmist.htm, http:…/moodle/course/. большинство из них хотелось бы перенаправить на главную.
Делаю 301 редирект –
Redirect permanent /moodle/course/ http://lipb.lviv.ua/ – не работает он.
Может подскажете в чем может быть проблема.
Спасибо
Виталий
Март 1, 2011 at 13:31
87Спасибо за статью. Воспользовался советами по редиректу, реализовал на трёх сайтах – работает!
Евгений
Март 16, 2011 at 13:56
88проблема с WP как у Вячеслав(86 пост), тоже не работает, что можно предпринять?
и еще вопрос, если я сделал так
Redirect 301 /old-page.html http://new-domain.ru/new-page.html
то при запросе http://domain.com/old-page.html меня должно перекинуть на http://new-domain.ru/new-page.html ?
index
Март 16, 2011 at 18:38
89Спасибо, очень выручили.
В Интернете полно статей с конструкцией
RewriteRule ^(.*)$ http://mysite.ru/$1 [R=301,L]
Это мне никак не подходило, так как .htaccess на десятках сайтов стоит и везде должен быть одинаковый
Только у Вас нашел универсальную конструкцию
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Жалко только, что наткнулся на Вашу статью только через 3 часа поисков :-(
Олег
Март 17, 2011 at 10:39
90Подскажите пожалуйста у меня склеен домен без www с www это нормально? сайт один и тот же в robot.txt прописано Host: www.мойсайт.ru
wowa
Март 23, 2011 at 15:43
91кто знает как правильно выполнить редирект на домен на кирилице (.рф) ?
Stotland
Март 24, 2011 at 12:43
92Читаю Ваш блог давно! Спасибо за очень интересные и позновательные статьи!
Как Вы считаете, так правильно делать редирект для домена в зоне РФ, что бы он был без www?
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.поздравления-с-юбилеем\.рф$ [NC]
RewriteRule ^(.*)$ http://поздравления-с-юбилеем.рф/$1 [R=301,L]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.xn——-6kcgckjdalpd7agrhkrw1a8ysa.xn—p1ai$ [NC]
RewriteRule ^(.*)$ http://xn——-6kcgckjdalpd7agrhkrw1a8ysa.xn—p1ai/$1 [R=301,L]
в robots.txt сделано так:
Host: xn——-6kcgckjdalpd7agrhkrw1a8ysa.xn—p1ai
Перепробовано много способов – работает только этот, может я и не прав! Только одно не могу понять, почему в Google всё равно появляются страницы с www?
На одном из сайтов я сделал подобное, но вдруг Яндекс выкинул страницы из поиска и сделал сайт с www, хотя в robots.txt в параметре Host сайт был указан без www.
Поэтому я засомневался в правильности моих действий.
Я задал вопрос в панели Яндекс вебмастер:
Почему сайт погода-в-египте.рф стал вдруг с www?
Вот что мне ответили в первый раз:
1. На момент последнего захода робота-зеркальщика явных указаний на желаемое главное зеркало не было. В такой ситуации робот был вынужден выбирать главное зеркало в автоматическом режиме.
2. В Вашем случае группа зеркал уже сформирована, поэтому устанавливать перенаправление я Вам не рекомендую. Получится, что робот будет удалять страницы главного зеркала, так как они перенаправляют, а цель перенаправления в поиск не попадет, так как целью является неглавное зеркало, запрещенное к индексированию.
Пожалуйста, воспользуйтесь для переклейки зеркал директивой Host и снимите перенаправление. В нашей Помощи Вы можете найти подробную информацию по данному поводу: http://help.yandex.ru/webmaster/?id=996567#996574
Хочу также заметить, что процесс переклейки зеркал в среднем занимает 4–6 недель, ускорить его, к сожалению, нельзя.
Вот что ответили во второй раз:
В robots.txt настройки верные для случая, если главным зеркалом Вы хотите сделать сайт с префиксом “www”. И, как я уже говорил, существующий редирект следует снять. Просто закомментируйте эти строки в файле htaccess, поставив перед каждой из них символ #. После чего дождитесь переклейки зеркал, робот сменит текущее главное зеркало в соответствии с указаниями в файле robots.txt.
Подскажите, как правильно сделать? или мой вариант вверху правильный? Или вообще всё убрать и не парится?
Старый
Апрель 18, 2011 at 00:49
93Подскажите что прописать в .htaccess чтобы сделать 301 редирект всех новостей категории сайта на поддомен, типа site.ru/kategoria/ на kategoria.site.ru и чтобы при вводе адреса страницы типа site.ru/kategoria/страница.html следовал редирект на kategoria.site.ru/страница.html А также что прописать в обоих роботс для склейки?
Devaka
Апрель 19, 2011 at 12:17
94Старый, используйте шаблоны из этой статьи:
www.optimization.com.ua/articles/rassilka/popularnie-shabloni-redirektov.html
гольфстрим 2011
Апрель 23, 2011 at 11:32
95Привет. Мой сайт с ПР3 под фильтром АГС. Если я сделаю 301 редирект на новый сайт, каким будет новый сайт в глазах яндекса? прошу ответить, я подписан на этот блог!
Devaka
Апрель 23, 2011 at 12:06
96гольфстрим, зависит от истории нового сайта. Если он создан позже старого и whois и контент практически совпадает, то вероятней всего его тоже будут считать агс.
гольфстрим 2011
Апрель 25, 2011 at 16:13
97спасибо за ответ. мне уведомление не пришло. whois полностью не совпадает так как один .NET на меня а новый .RU – private person. Контент новейший, сайт участвует в конкурсе SAPE.
гольфстрим 2011
Апрель 25, 2011 at 16:57
98вот сделал средствами самого ISPManager http://www.bertal.ru/index.php?url=http%3A%2F%2Fdelphiuser.net%2Fany_shit.php%26ndd%3D4&ar=217863#h правильно ли будет что не существующая страница получает 302 заголовок а потом 301 на нужный ресурс?
Антон
Апрель 25, 2011 at 23:12
99А при использовании 1-го примера ка избавиться от такой кракозябры -?do=cat&category=online_films/ после применения редиректа?
Руслан
Май 8, 2011 at 16:03
100Огромное спасибо Сергей, попробовал пару вариантов и один из них подошел на все сто %. Мне нужно было что бы все страницы без www переадресовывались на такие же страницы но с www. До этого 3 дня возился с настройками доменов на хостинге и ничего путного – один сайт с первого раза заработала переадресация, а другие хоть … хоть головой об стенку ))
Еще раз спасибо!
Кристина
Май 19, 2011 at 09:47
101Здравствуйте, нужна ваша помощь! На сайте sait.ru/catalog/777 сделали поддомен shop.sait.ru/777
Все обратные ссылки с sait.ru/catalog/777 не хочется терять, подсказали что нужно сделать маску для редиректа всех ссылок на shop.sait.ru/777…
подскажите как…. помогите написать.
Кристина
Май 19, 2011 at 10:39
102Все разделы sait.ru/catalog, будут повторятся в shop.sait.ru. нужно чтобы с каждой страницы бывшего раздела, допустим, sait.ru/catalog/789 попадал на соответствующую страницу нового раздела shop.sait.ru/789
с sait.ru/catalog/800 на shop.sait.ru/800
Заранее спасибо!
Pinkycar
Май 19, 2011 at 16:20
103ну наконец нашел понятное объяснение.
Тарас
Май 21, 2011 at 12:15
104Здравствуйте администратор, помогите пожалуйста мне очень долго мучеюся с етим.
1. Яндекс непрвельно опредилил главное зеркало сайта с www а не без и мой сайт он не индиксирует, если я поставлю 301 редирект то роботы яндекса смогут индексировать сайт ?
2. И не мешеет 301 редирект для склейки роботом зеркальщиком YandexBot/3.0; MirrorDetector; ?
Ответьте пожалуста я подписался…
andy
Май 22, 2011 at 15:14
105интересно надо будет разобраться!!!
Devaka
Май 23, 2011 at 09:00
106@Тарас:
Если роботы вообще не заходят на сайт, то 301 редирект не поможет. Попробуйте по этому вопросу лучше обратиться в службу поддержки Яндекса.
Если robots.txt доступен на любом домене с 200-ым статусом, то 301 редирект не помешает Яндексу определить основной домен.
@Кристина:
Используйте такую маску:
RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]
RewriteRule ^\/catalog\/(.*)$ http://shop.site.ru/$1 [R=301,L]
@Антон:
Антон, даже не знаю, раньше не сталкивался с подобной проблемой. Попробуйте другой редирект использовать.
Кристина
Май 23, 2011 at 12:28
107Не работает вообще(( редирект
где то ошибка
Кристина
Май 23, 2011 at 13:02
108Нашли ошибку .
RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]
RewriteRule ^catalog\(.*)$ http://shop.site.ru/$1 [R=301,L]
Так работает!!
Спасибо огромное
Кристина
Май 23, 2011 at 13:11
109Всё заработало
RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]
RewriteRule ^catalog\(.*)$ http://shop.site.ru/$1 [R=301,L]
вот так правильно.
andy
Май 24, 2011 at 10:32
110А как проверить работает ли редирект если я такие строчки в файл добави, mod_rewrite и +FollowSymLinks включены
RewriteCond %{HTTP_HOST} ^www.domain.ru$ [NC] RewriteRule ^(.*)$ http://domain.ru/$1 [R=301,L]
и обязательно ли делать редирект для каждой страницы сайта?
Виктория
Май 26, 2011 at 07:40
111Здравствуйте, требуется сделать редирект 301 с помощью .htaccess…
Не могу во всем этом разобраться. Я хочу на сайте изменить структуру. Весь контент переноситься с com_content на com_k2. Так как я не могу разобраться как перенести категории, то мне проще перенести каждый материал в отдельности. Если Вам не сложно, напишите, пожалуйста, образец, чтобы в нем говорилось, что страница такая-то переехала на страницу такую-то, таких страниц у меня 217.
Для того чтобы было понятно допустим страница старая www.doblest-chest.ru/index.php?option=com_content/… а новая www.doblest-chest.ru/index.php?option=com_k2…
Иван
Май 31, 2011 at 08:35
112Здравствуйте, сделал редирект по вашей схеме в .htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
но вот какая проблема возникла. Допустим я ввожу в адресную строку: http://www.eka-drive.ru/page/okompanii.html и почему-то делается редирект на http://eka-drive.ru/INDEX.php/okompanii.html
Соответственно этой страницу у меня нет. Какие есть мысли по этому поводу? Как можно исправить?
Евгений
Июнь 4, 2011 at 09:09
113подскажите пожалуйста, у меня старый домен, похоже за банен Yandex-ом.(в индексе одна страница). Я сменил всё: тематику, дизайн, контент…. Но по-прежнему в индексе одна страница. Теперь я регистрирую новый ( kinoteatrcity.ru ) домен и весь новый сайт переношу на этот домен. В .htaccess редирект 301, в robots.txt – HOST.. Возможно ли, что при этом фильтр Яндекса перейдёт на новый домен ???
Анатолий
Июнь 15, 2011 at 07:06
114Спасибо за статью, вставил код себе в .htaccess. Без него у меня яндекс вебмастер показывал, что только 1 страница в индексе. Теперь вошли все!
Григорий
Июнь 18, 2011 at 17:35
115А как с помощью директивы RewriteRule модуля mod_rewrite сделать редирект со старого домена на новый?
Мик
Июнь 24, 2011 at 21:35
116Вопрос такого плана. В корне сайта на ДЛЕ после установки уже есть .htaccess, я так понимаю он идет с инсталом. Куда здесь добавить редирект?
собственно, вот код стандартного .htaccess:
“
RewriteEngine On
# Редиректы
RewriteRule ^page/(.*)$ index.php?cstart=$1 [L]
# Сам пост
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html(/?)+$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4 [L]
RewriteRule ([.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$4&news_page=$2&cstart=$3 [L]
RewriteRule ([.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$2 [L]
RewriteRule ([.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$2&newsid=$3 [L]
RewriteRule ([.]+)/([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2 [L]
RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$1&cstart=$2 [L]
RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2&news_page=$1 [L]
RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$1&newsid=$2 [L]
RewriteRule ^([0-9]+)-(.*).html(/?)+$ index.php?newsid=$1 [L]
# За день
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2&day=$3 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&day=$3&cstart=$4 [L]
# За весь месяц
RewriteRule ^([0-9]{4})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&cstart=$3 [L]
# Вывод за весь год
RewriteRule ^([0-9]{4})(/?)+$ index.php?year=$1 [L]
RewriteRule ^([0-9]{4})/page/([0-9]+)(/?)+$ index.php?year=$1&cstart=$2 [L]
# вывод отдельному тегу
RewriteRule tags/([/]*)(/?)+$ index.php?do=tags&tag=$1 [L]
RewriteRule tags/([/]*)/page/([0-9]+)(/?)+$ index.php?do=tags&tag=$1&cstart=$2 [L]
# вывод для отдельного юзера
RewriteRule user/([/]*)/rss.xml$ engine/rss.php?subaction=allnews&user=$1 [L]
RewriteRule user/([/]*)(/?)+$ index.php?subaction=userinfo&user=$1 [L]
RewriteRule user/([/]*)/page/([0-9]+)(/?)+$ index.php?subaction=userinfo&user=$1&cstart=$2 [L]
RewriteRule user/([/]*)/news(/?)+$ index.php?subaction=allnews&user=$1 [L]
RewriteRule user/([/]*)/news/page/([0-9]+)(/?)+$ index.php?subaction=allnews&user=$1&cstart=$2 [L]
RewriteRule user/([/]*)/news/rss.xml(/?)+$ engine/rss.php?subaction=allnews&user=$1 [L]
# вывод всех последних новостей
RewriteRule ^lastnews/(/?)+$ index.php?do=lastnews [L]
RewriteRule ^lastnews/page/([0-9]+)(/?)+$ index.php?do=lastnews&cstart=$1 [L]
# вывод в виде каталога
RewriteRule catalog/([/]*)(/?)+$ index.php?catalog=$1 [L]
RewriteRule catalog/([/]*)/page/([0-9]+)(/?)+$ index.php?catalog=$1&cstart=$2 [L]
# вывод непрочитанных статей
RewriteRule ^newposts(/?)+$ index.php?subaction=newposts [L]
RewriteRule ^newposts/page/([0-9]+)(/?)+$ index.php?subaction=newposts&cstart=$1 [L]
# Статистические страницы
RewriteRule ^static/(.*).html(/?)+$ index.php?do=static&page=$1 [L]
# вывод избранных статей
RewriteRule ^favorites(/?)+$ index.php?do=favorites [L]
RewriteRule ^favorites/page/([0-9]+)(/?)+$ index.php?do=favorites&cstart=$1 [L]
RewriteRule ^rules.html$ index.php?do=rules [L]
RewriteRule ^statistics.html$ index.php?do=stats [L]
RewriteRule ^addnews.html$ index.php?do=addnews [L]
RewriteRule ^rss.xml$ engine/rss.php [L]
RewriteRule ^sitemap.xml$ uploads/sitemap.xml [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ([.]+)/page/([0-9]+)(/?)+$ index.php?do=cat&category=$1&cstart=$2 [L]
RewriteRule ([.]+)/?$ index.php?do=cat&category=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ([<]+)/rss.xml$ engine/rss.php?do=cat&category=$1 [L]
RewriteRule page,([0-9]+),([/]+).html$ index.php?do=static&page=$2&news_page=$1 [L]
RewriteRule print:([/]+).html$ engine/print.php?do=static&page=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ([/]+).html$ index.php?do=static&page=$1 [L]”
Мик
Июнь 24, 2011 at 21:38
117пробовал добавлять в самом конце:
“Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]”
редирект происходит, но не совсем корректно… так как ЧПУ ссылки в результате меняются на ссылки вида “мой домен/index.php?newsid=23056”
agentstvo-arbat
Июнь 26, 2011 at 16:23
118Спасибо за статью. Воспользовался советами по редиректу… Работает как часы
Dmitry Paskal
Июнь 29, 2011 at 22:06
119Nginx – нельзя использовать if. Используйте server {}.
Сергей
Июль 8, 2011 at 10:53
120Сергей, подскажите пожалуйста.
Возникла необходимость сменить домен. Обратился в техподдержку хостера. Там посоветовали новый домен алиасом добавить к старому и поставить редирект вида:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^старый_домен.ru$
RewriteRule ^(.*) http://новый_домен.ru/$1 [R=301,L]
Правильно ли будет так писать? На форумах встречаются варианты, где в обеих строчках прописывается только новый домен.
При этом про такую строчку:
Options +FollowSymLinks
ни слова не сказали. Она обязательно должна быть?
Заранее спасибо! Очень надеюсь на ответ.
Сергей
Июль 8, 2011 at 17:48
121Спргей, Вы еще отвечаете здесь?
Devaka
Июль 8, 2011 at 18:05
122@Сергей:
Строчка !^старый_домен.ru$ означает, что домен не называется “старый_домен.ru”, а значит любой другой. О FollowSymLinks подробно вы можете узнать здесь: http://www.maxi-pedia.com/FollowSymLinks. Если техподдержка хостинга говорит добавить, значит надо, так как они лучше знают настройки своего сервера.
Смотрите также популярные шаблоны редиректов:
http://www.optimization.com.ua/articles/rassilka/popularnie-shabloni-redirektov.html
Рекомендую всем подробно ознакомиться с работой модуля апаче mod_rewrite, обзор которого выходит за рамки данной статьи.
Света
Июль 11, 2011 at 08:44
123Привет.
Мне нужно прописать редирект со страниц сайта на другие страницы этого же сайта. Первый вариант редиректа, самое простое написание, подойдет в моем случае?
Redirect 301 /old_page /new_page
Сергей
Июль 11, 2011 at 19:40
124Сергей, если не затруднит, помогите еще с одним моментом пожалуйста. После создания домена-альяса и установки на него редиректа Гугл помаленьку уже индексирует сайт по новому адресу, хотелось бы уточнить – когда этот самый альяс нужно будет сделать основным? Как узнать? По каким признакам? За три дня поисков нашел сотни одинаковых статей по смене домена с использованием редиректа, но не нашел ответа на этот, казалось бы тривиальный вопрос.
Чаще всего встречаются такие советы – когда новый сайт полностью проиндексируется. Но вот как это узнать – полностью он проиндексировался или нет? Джумла создает столько страниц, что я понятия не имею сколько их всего должно быть проиндексировано.
Или это можно будет как-то определить по замене в статистике выдачи страниц со старым адресом на страницы с новым? Или как-то еще?
Вопрос может показаться не совсем по теме статьи, но уж очень хочется узнать ответ. Возможно, и кому-то еще этот ответ окажется полезным и поможет избежать досадных ошибок.
Заранее спасибо!
Сергей
Июль 11, 2011 at 20:33
125Небольшое пояснение к вопросу – сделать основным в данном случае имеется в виду не сделать главным зеркалом, а основным и единственным доменом, то есть, по просту говоря, когда следует удалить старый домен?
Кирилл
Июль 18, 2011 at 17:11
126Подскажите!
Нужно сделать редирект 301 с дублей главной страницы на саму главную страницу.
RewriteRule ^olo/catalog/view_4.html$ http://www.mysite.by/ [R=301,L]
Таких дублей штук 10. Но в этом варианте где-то ошибка… не могу понять где! В интернете нигде нету решения проблемы.
Сергей
Июль 27, 2011 at 20:59
127Добрый день.
Я в сайто строении полный ноль, так что пишу по порядку. В смысле то что я понял.
Цель у меня такова:
У меня на сайте есть новости, находятся они по этой ссылке http://ciferkom.ru/news.html
Я хочу перенести их вот на такую ссылку http://ciferkom.ru/news/news2011.html
Для этого. как я понял, мне нужно зайти в .htaccess и прописать в конце такую строчку:
Redirect 301 /news.html http://ciferkom.ru/news/news2011.html
После чего перенести все новости на новый адрес. Правильно?
И второе, у вас написано что нужно включить модуль mod_alias, а где он находится. У меня сайт на джумла 1,5
Tramp
Август 1, 2011 at 09:32
128Подскажите пожалуйста, правильно ли прописан файл с редиректом:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^www.\supertirli\.ru$ [NC]
RewriteRule ^(.*)$ http://supertirli.ru/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
</IfModule>
Liga
Август 10, 2011 at 09:10
129Пойдёёёт!! Пуля а не блог! справочник целый)
Сергей
Август 15, 2011 at 18:41
130Сергей, добрый день.
Спасибо за ваш форум -действительно полезная информация.
Сейчас столкнулся с проблемой – после переработки функционала, изменилась система формирования адресов страниц.
А мы не можем настроить редирект 404 ошибки на главную в nginx.
Подскажите, как правильно прописать.
Дмитрий
Август 19, 2011 at 23:06
131Подскажите, может кто сталкивался. На домене, который существует несколько лет (и занимает хорошие позиции в выдаче) был произведен редизайн со сменой CMS, соответственно url всех страниц изменились, но содержание сталось прежним (тексты, картинки). Старые страницы были полностью удалены с хоста. В поисковой выдаче пока выдаются старые url. Редирект в .htaccess с несуществующих страниц на новые не возможен. Или можно как-то осуществить? Как показать поисковику, что сохраненная им копия каждой станицы теперь находится по новому адресу?
Андрей
Август 20, 2011 at 19:31
132Долго решал проблему с дублированием главной. Не там искал инфу, наслушался ……, что под фильтр попал. На этом блоге нашел решение:
Redirect 301 /old-page.html http://new-domain.ru/new-page.html
Правда прописал без html и работает.
У меня получается два 301 редиректа.
Вычитал, что Гугл поставил лимит в три. Что мастер скажет?
Дмитрий
Август 21, 2011 at 17:40
133Да, тут Дмитрий нужно смотреть в глубь проблемы, а то так сразу и не разберешься, но все поправимо, удачи))
AlexPh
Август 23, 2011 at 14:47
134Здравствуйте.
У меня проблема следующего характера.
Несколько моих сайтов сделаны на простейшем самописном скрипте с использованием mod_rewrite для формирования ЧПУ:
RewriteRule part/([/]+)/([/]+)/([/]+)/?$ /index.php?part=$1&type=$2&project=$3 [L]
RewriteCond %{THE_REQUEST} \ /index\.php\?part=([&]+)&type=([&]+)&project=([\ ]+)\ HTTP/
RewriteRule ^index\.php$ http://site.ru/part/%1/%2/%3/? [R=301,L]
RewriteRule part/([/]+)/([^/]+)/?$ /index.php?part=$1&type=$2 [L]
RewriteCond %{THE_REQUEST} \ /index\.php\?part=([&]+)&type=([^\ ]+)\ HTTP/
RewriteRule ^index\.php$ http://site.ru/part/%1/%2/? [R=301,L]
RewriteRule part/([/]+)/?$ /index.php?part=$1 [L]
RewriteCond %{THE_REQUEST} \ /index\.php\?part=([\ ]+)\ HTTP/
RewriteRule ^index\.php$ http://site.ru/part/%1/? [R=301,L]
И всё было хорошо пока недавно не обнаружилась одна особенность данного преобразования УРЛов.
В прошлый ап в Яндексе количество страниц увеличилось примерно в два раза. Причем их стало в два раза больше чем есть на самом деле. Просмотрев страницы в индексе увидел следующую картину. Большинство страниц в индексе имели дубли следующего вида.
http://site.ru/part/xxx/yyy/zzz/
http://site.ru/part/xxx/yyy/zzz
http://site.ru/part/xxx/yyy/
http://site.ru/part/xxx/yyy
http://site.ru/part/xxx/
http://site.ru/part/xxx
Все дело в том что УРЛ
http://site.ru/part/xxx/yyy/zzz/
после обработки mod_rewrite интерпретируется движком как
http://site.ru/index.php?part=xxx&type=yyy&project=zzz
все переменные part, type и project соответственно передаются в скрипт и всё работает.
И всё бы хорошо, но как оказалось УРЛ
http://site.ru/part/xxx/yyy/zzz (без слеша на конце)
также прекрасно интерпретируется как
http://site.ru/index.php?part=xxx&type=yyy&project=zzz
и по этому адресу получаем страницу с тем же содержимым.
Соответственно возникла проблема с дублированием контента на сайте.
Как Яндекс вышел на УРЛы без слеша? Не знаю. Скрипт сайта исправно генерирует все УРЛы со слешем в конце. Ссылки которые покупаю тоже всегда со слешем. Вероятно появились какие-то естественные беки без слеша. Но сейчас не об этом.
Вопрос в том, как сделать 301 редирект со страниц без слеша на страницы со слешем в конце. Прописывать вручную редирект на каждую страницу не вариант. Слишком много страниц и количество их будет только расти. Видимо нужно как-то усовершенствовать правила mod_rewrite, но у меня не достаточно знаний для этого. Может кто подскажет что можно сделать?
Серж
Август 25, 2011 at 22:12
135Хорошая статья, не первый раз посещаю Ваш блог из-за неё. Единственное на Друпал редирект в .htaccess не срабатывает.
Туры
Август 26, 2011 at 17:28
136Попробовал простейший вариант – Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Теперь если переходить на страницу с www. (например www.мойсайт.kiev.ua/educationstours.html) выскакивает ПУСТАЯ страница http://мойсайт.kiev.ua/index.php! Даже НЕ перекидывает на главную (как раньше). Убрал редирект – та же фигня (косяк не исправился). Может кто сталкивался и подскажет как вернуть хотя бы то как было? Или ссылку киньте, где искать ответы… будь-ласка.
Туры
Август 29, 2011 at 15:39
137убрал редирект и надо было сразу кєш браузера очистить. Вернул к исходному варианту, достаточно было очистить кэш. Так что первая часть вопроса снята.
damir-tote
Сентябрь 13, 2011 at 12:47
138А если на один сайт сделать несколько редиректов с 10-ти сайтов. Что будет? БАН или выростит пузо?
Alex
Сентябрь 19, 2011 at 16:00
139А кто подскажет как можно сделать редирект со страниц типа site.ru/catalog/category/product/15-odegda-na-4-goda-104-rost/2811-narukavniki-vyazannie.html на страници типа site.ru/catalog/product/2811-narukavniki-vyazannie.html(т.е. соответственно убрать дубли и укоротить URL), только это надо сделать массово, таких страниц порядка 1500 шт.
Иордания
Сентябрь 21, 2011 at 13:54
140Сделали редирект на без-www. Теперь при переходе из файла (а файлов-прайсов тысячи) по ссылке с наличием-www открывается пустая страница (думаю ошибка “страница не найдена”). Это так у всех? Или есть способ чтобы при переходе из файла по ссылке с-www сайт нормально открывал ту же самую РАБОЧУЮ страницу без-www ??? а не пустую…
Артем
Сентябрь 27, 2011 at 14:37
141Подскажите как быть, если сайт на DLE? там уже есть стандартный .htaccess и при редиректе старого УРЛ на новый УРЛ он он приобретает вид: домен/index.php?newsid=23056
Если кто знает, как это исправить подскажите пожалуйста.
Дмитрий
Сентябрь 28, 2011 at 15:29
142Я вот если честно не могу ничего понять…. После смены дизайна сайта страницы получили новые названия. Сейчас набираю в яндексе купить мебель появляется мой сайт/shop/kuxni (например) Захожу, а мне 404 ошибку дает. Где надо что настроить (на новом или на старом сайте) этот редирект? Домен не сменился, только адреса страниц поменялись
Val
Октябрь 2, 2011 at 18:17
143Devaka, в Вашем сообщении 94, где вы отвечаете Старому есть адрес. Я посмотрел те шаблоны, в частности, “Редирект с подпапки домена на поддомен”. Но это не подходит для моей задачи. Суть вот в чем. Есть сайт и форум на нем. Форум находится в поддомене site.ru/forum. Страница зарегистрированного пользователя – site.ru/forum/profile/user_name/. Нужно, чтобы при вводе адреса user_name.site.ru редиректило на site.ru/forum/profile/user_name/ пробовал всякие и разные конструкции и не работает.
черныйСЕО
Октябрь 14, 2011 at 13:01
144Те туфтовые шаболоны, что приведены по ссылке в сообщении 94 – вообще полная лажа. Потому что это не шаблоны (ну кроме общего редиректа с ввв на без-ввв), а вырванные из какого-то ихнего проекта куски кодов редиректа. Мне например ни один не подошел, поэтому нельзя называть это шаблонами. А я очень опрометчиво сначала поставил там +1, а только потом попробовал шаблоны применить которые нифига не работают в моем проекте.
Gold-Coin
Октябрь 16, 2011 at 18:28
145Я сделала редирект при помощи robots.txt и .htaccess, но прошло уже почти месяц и что я сейчас замечаю так это спад посетителей. Может сейчас нужно время, чтобы посетители вернулись?
AlAnSer
Октябрь 25, 2011 at 20:45
146Пожалуйста помогите разобраться:
Мне нужно перенести блог на wp с одного домена на другой. Стало быть все урл страниц остаются такими же, только меняется название домена в адресах страниц. Т.е. oldsite.com/igry/hangman.php => newsite.ru/igry/hangman.php.
Нужно ли прописывать редирект каждой страницы в файле htaccess или достаточно только домен? И будут ли в таком случае, люди, набравшие в строке адрес старой страницы попадать на ту же страницу на новом домене?
Вадим
Октябрь 26, 2011 at 07:35
147Здравствуйте, на joomla необходимо сделать редирект для склеивания дублей всех страниц на конце без “.html” на с “.html”
пример http://www.site.ru/services
http://www.site.ru/services.html
Виктор
Ноябрь 2, 2011 at 03:20
148Решил провести эксперемент с 301 на юкозовском сайте, редирект установил 22 сентября прошло больше месяца, PR 0 . Может мало времени прошло ?
Виталий
Ноябрь 16, 2011 at 15:51
149Добрый день! Никак не могу осуществить редирект на joomla.
Как сделать редирект, например, со страницы http://мой сайт/index.php?option=com_content&view=article&id=73&Itemid=128 на страницу http://мой сайт/index.php?option=com_content&view=article&id=73&Itemid=160. Разница только в последних числах. Всю голову сломал, буду благодарен за помощь.
Freelab.ru
Ноябрь 18, 2011 at 20:38
150Простите, а когда вносишь запись в .htaccess, то изменения сразу видно или нужно какое-то время?
igors
Ноябрь 28, 2011 at 11:30
151А как сделать чтобы от форума тиц и пр передавался , но люди могли бы заходить на форум да и поисковики могли бы индексировать страницы форума.
Сергей
Декабрь 31, 2011 at 02:11
152Сайт на Joomla работает у хостера с 301 перенаправлением. Переношу сайт к другому хостеру, но пока не прописываю его NS. Работаю с сайтом через файл hosts (ip_сервера имя_домена). Убираю 301 из .htaccess. После всего этого, редирект всё равно срабатывает… Автор, может Вы знаете как устранить проблему?
Евгений
Январь 2, 2012 at 15:04
153Отличная подборка вариантов, долго эксперементировал с ними, в итоге установил и склеил домены. Код прописывал в .htaccess, однако само место пришлось подбирать опытным путем, в итоге прописал после #/ end wordpress, и все работает ура!
Xstroy
Январь 5, 2012 at 23:56
154Пока жареный петух не клюнет, особо не приходится заморачиваться, но вот и моё время настало :)
В индексе одного из сайтов в Яше стали появляться страницы-дубли со слешем (все внутренние страницы имеют окончание .php) и с повтором других урлов.
Сергей, подсобите верно составить регулярное выражение. Сейчас все страницы заканчиваются на .php но собираюсь перевести сайт на WP, а там возможно появление категорий со слешем.
Devaka
Январь 6, 2012 at 02:46
155Xstroy, какой пример адреса страницы до и после применения редиректа?
gransh
Январь 6, 2012 at 18:09
156Помогите плиз написать редирект с адресов типа
/index.php?ukey=product&productID=10631
на адрес типа
/index.php?productID=10631
ID много разных
Роман
Январь 9, 2012 at 17:48
157#Редирект без слеша на слеш. Не трогает расширение.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..+$
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) http://www.site.ru/$1/ [R=301,L]
Галина
Январь 11, 2012 at 21:14
158У меня такой вопрос, думаю, ваш ответ на него заинтересует многих При редизайне (смена навигации и пр.) сайта постарались сохранить самые «жирные» страницы – поставили 301 редирект. В Яндекс.Вебмастере появились замечания – список неканонических страниц. Часть этих страниц с адресами нового и старого сайта. Т.е из-за редиректа Яндекс признал часть страниц нового сайта и старого неканоническими. Нужно что-либо делать или оставить как есть? Редиректы должны сохраняться пожизненно? Если да, то не возникнет с этим каких-то проблем?
Xstroy
Январь 12, 2012 at 18:55
159Сейчас страница выглядит …/lestnica.php
В индексе появились несуществующие страницы
…/lestnica.php/
…/lestnica.php/lestnica.php
1) Нужно отредиректить этот мусор.
2) При переходе на WP, очевидно появятся категории
…/remont/ и т.д.
gransh
Январь 14, 2012 at 13:04
160Помогите плиз написать редирект с адресов типа
/index.php?ukey=product&productID=10631
на адрес типа
/index.php?productID=10631
ID много разных
Xstroy
Январь 15, 2012 at 07:43
161Решил не редиректить проблемные страницы (хотя они и имеют небольшой вес).
Просто закрыл их в robots (внимательно почитав рекомендации Яши)
Disallow: /*.php/
Кстати, подобная конструкция оставляет в живых и разделы со слешем на конце.
Хотя до сих пор интересно, как записать подобное правило для редиректа соответствующих страниц.
webwed
Январь 16, 2012 at 16:15
162Спасибо огромное, жаль что прочитала вашу статью уже после того как сайт переделала на другой cms – это серьезно сказалось на посещаемости .Если б сделала ридирект было б все ок. Сохранила на будущее ваши рекомендации
Виктор
Январь 24, 2012 at 19:29
163Здравствуйте.
Помогите,пожалуйста,решить проблему. Один старый сайт с помощью 301 редиректа:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^oldsite\.ru$ [NC]
RewriteRule ^(.*)$ http://newsite.ru$1 [R=301,L]
У меня на старом сайте был скрипт автоматической рассылки писем от Ласто – woodpecker. Его я тоже перенес на новый сайт. Настроил Cron, но на новом сайте он не работает нормально.
Вопрос вот в чем. Нельзя ли его (woodpecker) оставить на старом сайте? Но как сделать чтобы на эту папку не действовал 301 редирект?
Буду очень благодарен за ответ.
Да, Ласто я писал об этой проблеме, но он молчит…
Aleksandr
Январь 25, 2012 at 17:47
164Здравствуйте, Сергей.
Во-первых спасибо за качественный материал, а то все, что находил, сплошная вода.
Вопрос таков. Есть сайт под фильтром у Я и потихоньку индексирующимися страницами в G.
Если сделать редирект домена по такому принципу:
Пример1
на том, с которого редиректим:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://.newdomain.ru/$1 [R=301,L]
на который редиректим
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.newdomain\.ru$ [NC]
RewriteRule ^(.*)$ http://newdomain.ru/$1 [R=301,L]
Пример 2
Или все же на сайте, с которого редиректим прописывать?
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.site\.net
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=permanent,L]
в этом случае я так понимаю нужно полностью при переносе учесть необходимость идентичности url?
И еще вопрос. Достаточно ли будет записей, представленных в примере 1, чтобы не прописывать редирект для конкретных страниц?
Вопросы могут показаться примитивными, но это у меня в первый раз)))
Кейтеринг
Январь 26, 2012 at 22:20
165Установил редирект, все работает.
Действительно можно ожидать рост позиций и PR после склейки?
User
Январь 27, 2012 at 21:38
166не по теме поста, но подходящего не нашёл, чтобы спросить об htaccess. Подскажите, что нужно сделать
В .htaccess есть строки:
RewriteRule ^([-a-zA-Z0-9_/]+)/?$ post.php?name=$1 [QSA,L]
RewriteRule ^([-a-zA-Z0-9_/]+)/?$ news.php?name=$1 [QSA,L]
Пример: site.ru/post.php?name=google
ЧПУ: site.ru/google
и : site.ru/ news.php?name=yandex
ЧПУ: site.ru/yandex
По отдельности строки работают как надо, но если их записать две, тогда все адреса преобразуются в ЧПУ по первой строке, т.е., в указанном выше примере оба урла примут вид
site.ru/google
site.ru/yandex – но у этого выдаст ошибку 404, т.к. он передаётся на обработку в post.php?name=, а должен в news.php?name
Если запись в htaccess будет иметь такой порядок:
RewriteRule ^([-a-zA-Z0-9_/]+)/?$ news.php?name=$1 [QSA,L]
RewriteRule ^([-a-zA-Z0-9_/]+)/?$ post.php?name=$1 [QSA,L]
site.ru/yandex
site.ru/google – ошибка 404, т.к. обрабатывается не в post.php?name, а в news.php?name
Т.е., урлы передаются на обработку в тот файл, строка которого стоит первой в htaccess
Как сделать так, чтобы вышеуказанные правила (обе строки) преобразования урлов в ЧПУ работали?
В коде страницы адреса href – абсолютны – с ними не работает, и с относительными тоже.
Заранее прошу «гуру-кодеров» не «бросаться помидорами», если в описанном мною случае допущены какие-либо ошибки, а вместо этого объяснить что и как нужно сделать.
Дмитрий
Февраль 1, 2012 at 17:20
167А если у сайта на хостинге панель ISPManager, то можно же в самой панели поставить редирект?
Просто я так сделал 2 месяца назад, но яндекс начал заново потихоньку индексировать новый сайт, а старый полностью в индексе.
Дизайнер
Февраль 3, 2012 at 18:34
168Кейтеринг, рост PR после склейки можно ожидать в том случае, если есть ссылки на страницу с www и на страницу без www. По идее и позиции могут вырасти, так как не будет дублей.
Павел
Февраль 4, 2012 at 11:54
169Добрый день!
Я переводил сайт на новый домен. Делал всё как положено, дерективой
Host указал новое главное зеркало. Где-то через два с половиной месяца сайты склеились. Старый сайт вылетел из индекса почти полностью. По всем поисковым запросам появился новый. После чего я поставил 301 редирект на новый домен со старого. Редирект установил при помощи панели в хостинге. Но стал замечать, что у меня по некоторым запросам опять появляется старый сайт. Я тогда удалил файлы старого сайта, думал, что поможет, но редирект оставил. Кроме того есть файл robots.txt с указанием главного зеркала. А недавно, старый сайт почти полностью проиндексировался и по ключевым запросам полностью заменил новый.
У меня несколько вопросов, потому что Яша молчит и упорно не хочет отвечать на вопросы.
1. Почему сайты расклеились
2. Что будет дальше и чем это грозит
3. Нужно ли проделывать всё заново, что бы сайты склеились или оставить всё как есть. Данная сиуация меня пока устраивает, старый домен и хостинг у меня продлён, посещаемость сайта хорошая.
Ответить