как перенаправить http URL на www URL

Wicked

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

ПС: есть ли способ при этом не терять ПОСТ запрос? Как вариант, конечно, можно использовать следующую схему, но хочется еще лучше %)
1) на site.com пришел ПОСТ-запрос:
- обрабатываем его на site.com
- делаем редирект на www.site.com (редирект после поста является частой практикой, только в этом случае делается редирект на www.)
2) на site.com пришел ГЕТ-запрос:
- делаем редирект на www.site.com, используя те же REQUEST_URI и QUERY_STRING. (вероятно можно сделать средствами апача).
- обрабатываем его на www.site.com
 

SiMM

Новичок
> есть ли способ при этом не терять ПОСТ запрос?
А зачем? Это нужно разве что только если POST-запросы идут с левых сайтов. Ну дык пускай ставят правильные ссылки.
PS: а .htaccess'а + mod_rewrite, если это алиасы, разве недостаточно?
 

Wicked

Новичок
Фанат
есть

SiMM
Да один раз дебажили часа 2 скрипт %) Из формы файл посылается, а в скрипт не приходит... А все из-за редиректа с mysite.com на www.mysite.com.
 

AlexFree

Новичок
У тебя доступ к httpd.conf есть?
да, есть..

это необходимо вот для чего:
http://www.google.ru/support/bin/answer.py?answer=3875&topic=365

Например у рамблера вводишь rambler.ru, а перенаправляешься на www.rambler.ru

-~{}~ 19.03.06 16:32:

PS: а .htaccess'а + mod_rewrite, если это алиасы, разве недостаточно?
http://site.com -> http://www.site.com - как с пом. mod_rewrite это сделать? Читаю, читаю про него, но еще не нашел решения...
 

vadim

Guest
А у меня ещё к этому такой вопрос: а разве не должно быть записи в ДНС сервере об этом?? То есть если там есть только www сайт, то сайта без www браузер не найдёт (я понимаю, что хостеры и регистраторы доманов это сейчас почти все автоматически делают, но всё же...).
 

SiMM

Новичок
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.site\.com$
RewriteRule .* http://www.site.com%{REQUEST_URI} [R=301,L]
где-то как-то так - не проверял.
vadim, у него задача - не потерять тех, кто пойдёт по неверной ссылке, а заодно и направить на путь истинный.
 

White Rabbit

белый кролик
Что-то я не понимаю,
а разве алиасы в httpd.conf уже отменили?
ServerName "site.com"
ServerAlias "www.site.com"
Или это не то?
 

Кром

Новичок
По-моему, это лучше делать в httpd. Создать дополнительную группу VirtualHost и там поставить редирект.
<VirtualHost x.x.x.x>
ServerName example.com
Redirect permanent / http://www.example.com
</VirtualHost>
 

Wicked

Новичок
Кром
Код:
<VirtualHost x.x.x.x>
  ServerName example.com
  Redirect permanent / [url]http://www.example.com[/url]
</VirtualHost>
видимо немного не то в моем случае...

Если к
Код:
<VirtualHost 192.168.1.9:80>
  ServerName mysite.com
  ServerAlias [url]www.mysite.com[/url]
  ...
</VirtualHost>
добавить редирект, то происходит зацикливание.

-~{}~ 20.03.06 12:35:

SiMM
спасибо... работает...

но я все равно не стал любить мод-реврайт %) Мне все равно кажется, что использовать мод-реврайт - это как парсить xml регулярными выражениями %)
 

Кром

Новичок
Wicked
ServerAlias тут не нужен. Это совсем из другой оперы.
Тут нужно два блока VirtualHost, в одном из которых идет редирект. Т.е. идет принудительный редирект на одно из имен, тогда как ServerAlias просто дает возможность использовать оба имени.
 

AlexFree

Новичок
кстати, вот вопрос еще задам. давняя проблема. как настроить mod_rewrite под Apache 2.0.52 ? в хттпд.конф Load, сам модуль есть.. .htaccess составлены правильно - под старым апачем работают...
 
Сверху