Comments 59
поправьте заголовок «Организайия»
и раз уж вы считаете что здорово бы указать и про другие веб сервера, то может расскажите про IIS 7.0? было бы интересно
К сожалению ни разу не видел IIS. Могу предложить только такую информацию с www.webconfs.com/how-to-redirect-a-webpage.php
* In internet services manager, right click on the file or folder you wish to redirect
* Select the radio titled «a redirection to a URL».
* Enter the redirection page
* Check «The exact url entered above» and the «A permanent redirection for this resource»
* Click on 'Apply'
Надеюсь меня поправят, и предложат более детальный вариант
* In internet services manager, right click on the file or folder you wish to redirect
* Select the radio titled «a redirection to a URL».
* Enter the redirection page
* Check «The exact url entered above» and the «A permanent redirection for this resource»
* Click on 'Apply'
Надеюсь меня поправят, и предложат более детальный вариант
Спасибо, исправил.
Какую задачу выполняет этот редирект?
Что плохого в том, что сайт открывается с www и без www?
Что плохого в том, что сайт открывается с www и без www?
В принципе ничего плохого нет, однако есть некторые неприятные моменты связанные с тем, что сайт будет выдаваться в выдаче поисковиков по двум разным доменам:
* adsens * adwords рекламу необходимо давать для одного конкретного домена, чтобы потом было удобвно отслеживать статистику.
* adsens * adwords рекламу необходимо давать для одного конкретного домена, чтобы потом было удобвно отслеживать статистику.
Главная проблема — с куками. В большом количестве разного рода пакетов вы должны прописать домен, на котором этот пакет работает. При этом очень легко добиться того, чтобы читатель попал на форму регистрации на одном домене, ввёл имя-пароль, его перебросили на другой домен — и там заявили что, дескать «не знаем мы вас».
Если ваша система (как Хабрахабр) реально пользуется многими доменами, то приходится заботится о правильной работе всего этого хозяйства, но если сайт невелик — то удобнее перебрасывать на один домен, а если велик, то нужно перебрасывать на один домен причём этот домент обязательно должен включать в себя пресловутое www. Это, опять-таки, связано с куками: никакого untrustedsubproject.habrahabr.ru в природе быть не может ибо этот untrustedsubproject будет получать конфиденциальную информацию о всех посетителях habrahabr.ru!
Если ваша система (как Хабрахабр) реально пользуется многими доменами, то приходится заботится о правильной работе всего этого хозяйства, но если сайт невелик — то удобнее перебрасывать на один домен, а если велик, то нужно перебрасывать на один домен причём этот домент обязательно должен включать в себя пресловутое www. Это, опять-таки, связано с куками: никакого untrustedsubproject.habrahabr.ru в природе быть не может ибо этот untrustedsubproject будет получать конфиденциальную информацию о всех посетителях habrahabr.ru!
Спасибо!
то то я смотрю при наборе www.habrahabr.ru идёт редирект на habrahabr.ru и в заголовках:
HTTP/1.x 302 Moved Temporarily
Location: habrahabr.ru/
то то я смотрю при наборе www.habrahabr.ru идёт редирект на habrahabr.ru и в заголовках:
HTTP/1.x 302 Moved Temporarily
Location: habrahabr.ru/
А зачем rewrite? Просто алиасом поднимать домен с www и все будут довольны.
Через .htaccess:
RewriteEngine on
RewriteCond %{SERVER_NAME} ^example.com
RewriteRule (.*) www.example.com/$1 [QSA, L, R=301]
Парсер ест код:
RewriteEngine on
RewriteCond %{SERVER_NAME} ^example.com
RewriteRule (.*) www.example.com/$1 [QSA, L, R=301]
Всё равно ест. Короче, перед www.example.com в последней строчке должен протокол (хттп://)
RewriteEngine on:)
RewriteCond %{SERVER_NAME} ^example.com
RewriteRule (.*) http://www.example.com/$1 [QSA, L, R=301]
Попробуйте использовать для кода элемент
code
(«код») вместо blockquote
(«цитата»):http://www.example.com
Сайт должен иметь www., потому что это хорошая стандартизация.
А те, кто на «без www.» редиректят — дети, которые не в курсе что кроме www есть другие протоколы.
Кроме того при указании адреса в прессе лучше использовать www, так как это намного понятнее.
А те, кто на «без www.» редиректят — дети, которые не в курсе что кроме www есть другие протоколы.
Кроме того при указании адреса в прессе лучше использовать www, так как это намного понятнее.
Ну если «кроме www есть другие протоколы» то конечно да
Простите, а когда «www» стал протоколом? :)
видимо автор попутал www с http
Если субдомен (test.example.com), то www не пишу. Иначе пишу всегда с www (www.example.com) — так как-то приятнее… ИМО
www — не протокол…
Я бы не стал так котигорично минусовать автора этого коммента.
Да… www не протокол.
Но www достаточно прочно вошло в сознание многих «домохозяек» именно как ассоциация с адресом сайта.
Так же как @ как ассоциация с e-mail.
Да… www не протокол.
Но www достаточно прочно вошло в сознание многих «домохозяек» именно как ассоциация с адресом сайта.
Так же как @ как ассоциация с e-mail.
Несколько раз сталкивался невероятным: админ заказчика тупо не знает что MX-записи могут на другой сервер указывать, поэтому у них разные IP-адреса у корневого домена и www.
Пятый(?) год уже прекрасные люди из Мегафона немогут\не хотят устроить альясинг или реврайт
megafonnw.ru/ — не работает, в отличие от
www.megafonnw.ru/
megafonnw.ru/ — не работает, в отличие от
www.megafonnw.ru/
НЕ СМЕЙТЕ ДАВИТЬ НА НАС!
:)
:)
ещё примеры из серии:
www.ibc.org/ крупная выставка плотно связанная с IT
www.wymeditor.org/ WYSIWYM редактор
где то видел ещё но так не вспомню. очень обидно когда набираешь адрес по памяти и не можешь зайти, создаеться впечатление что сайт мертв…
www.ibc.org/ крупная выставка плотно связанная с IT
www.wymeditor.org/ WYSIWYM редактор
где то видел ещё но так не вспомню. очень обидно когда набираешь адрес по памяти и не можешь зайти, создаеться впечатление что сайт мертв…
A-записи наверно имели в виду.
Кстати, вы бы кстати ещё и немножко про SEO упомянули бы. И как разные поисковики реагируют на 301-й редирект, и как учесть все особенности.
Еще один вариант с htaccess-ом, аналогичный TiGR:
# BEGIN redirect settings
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_HOST} !www.example.ru
RewriteRule ^.*$ http://www.example.ru%{REQUEST_URI} [R,L]
</IfModule>
# END redirect settings
отличается большей гибкостью, т.к. при наборе example.ru/coollink
редиректит на www.exmple/coollink
сразу видно менеджер проектов: не только с кодом не дружу, даже всивиг не дается +)
IfModule
RewriteCond
RewriteRule
/IfModule
IfModule
RewriteCond
RewriteRule
/IfModule
Поправьте меня, если я ошибаюсь — а не проще ли просто использовать ServerAlias в описании VirtualHost'а и не городить редиректы?
Дабы не указывать это правило для каждого домена можно воспользоваться отрицательным регулярным выражением:
При этом явно описанные сайты без www сюда уже не попадут — regex'ы
в server_name используются как last resort.
Автор решения Игорь Сысоев. Советую автору вынести это в содержание топика.
server {
server_name ^(?!www\.);
rewrite ^ http://www.$host$request_uri permanent;
}
При этом явно описанные сайты без www сюда уже не попадут — regex'ы
в server_name используются как last resort.
Автор решения Игорь Сысоев. Советую автору вынести это в содержание топика.
Забыл сказать, что решение для nginx
Ошибочка:
— server_name ^(?! www\.);
+ server_name ~^(?! www\.);
Хабрапарсер, перед www не надо пробела.
— server_name ^(?! www\.);
+ server_name ~^(?! www\.);
Хабрапарсер, перед www не надо пробела.
Спасибо, так и сделаю.
А наоборот? www.example.com -> example.com
Вы забыли здесь
поставить http://
Поэтому апач редиректит на
RedirectMatch permanent (.*) www.example.com$1
поставить http://
RedirectMatch permanent (.*) http://www.example.com$1
Поэтому апач редиректит на
example.com/www.example.com$1
if ($host != 'example.com') {
rewrite ^/(.*)$ example.com/$1 permanent;
}
в секции server будет переадресовывать пользователей с любого поддомен на домен example.com. Если требуется организовать переадресацию исключительно www.example.com → example.com использовать можно следующую конструкцию:if ($host = 'www.example.com') {
rewrite ^/(.*)$ example.com/$1 permanent;
}
В апаче есть просто Redirect (без регэкспа)
ServerName www.example.com
Redirect permanent / http://example.com/
Вы сможете сделать при помощи `Redirect` «умное» перенаправление типа example.com/some-url на www.example.com/some-url?
Именно так оно и делается, на нескольких сотнях сайтов под моим присмотром.
httpd.apache.org/docs/2.2/mod/mod_alias.html#redirect
«Additional path information beyond the matched URL-path will be appended to the target URL.»
RTFM хоть иногда
httpd.apache.org/docs/2.2/mod/mod_alias.html#redirect
«Additional path information beyond the matched URL-path will be appended to the target URL.»
RTFM хоть иногда
Sign up to leave a comment.
Организация постоянных редиректов с www.domain на domain и обратно.