Внимание! В связи с устареванием топика эта страница была взята из кэша.
|
bog
Зарегистрирован: 07.11.02
Сообщения: 1993
|
Добавлено: 29/02/04 в 13:06
|
|
Написал реврайт чтоб при запросе чего угодно кроме www.NAME.com всегда происходил редирект на www.NAME.com. Зараза пашет - но криво при запросе сабдиректорий уходит в цикл.
кто подскажет в чем ошибка ?
RewriteEngine On
rewritecond %{HTTP_HOST} !^www\.%{SERVER_NAME} RewriteRule ^(.*)$ http://www.%{SERVER_NAME}%{REQUEST_URI} [R=permanent,L]
|
K началу
|
|
|
kit
Зарегистрирован: 18.11.99
Сообщения: 5756
|
Добавлено: 29/02/04 в 17:42
|
|
Попробуй вот такую штуку применить:
<Location /> RewriteEngine off </Location>
|
K началу
|
|
|
perlmaster
Зарегистрирован: 27.02.03
Сообщения: 674
|
Добавлено: 29/02/04 в 18:27
|
|
Да вроде правильно все, если SERVER_NAME что нужно... Попробуй переделать последнюю строчку на: RewriteRule ^(.*)$ http://www.%{SERVER_NAME}$1 [R,L] авось поможет...
|
K началу
|
|
|
bog
Зарегистрирован: 07.11.02
Сообщения: 1993
|
Добавлено: 29/02/04 в 20:03
|
|
$1 вообще не канает, он тогда не держит диры почему то...
и из предложеных вариантов ничего не помогло... уходит в цикл и все 
Не выполныется почему то вот это условие rewritecond %{HTTP_HOST} !^www\.%{SERVER_NAME} даже если HTTP_HOST = www.sex.com SERVER_NAME= sex.com в чем косяк х.з. в итоге написал далеко не лучший вариант, и боюсь что есть в нем скрытые глюки. Выглядит так:
RewriteCond %{HTTP_HOST} !^www\..* [NC] RewriteRule ^(.*)$ http://www.%{SERVER_NAME}%{REQUEST_URI} [R=permanent,L]
|
K началу
|
|
|
perlmaster
Зарегистрирован: 27.02.03
Сообщения: 674
|
Добавлено: 29/02/04 в 20:37
|
|
bog писал: | $1 вообще не канает, он тогда не держит диры почему то... |
Это невозможно нах ;)
bog писал: | Не выполныется почему то вот это условие rewritecond %{HTTP_HOST} !^www\.%{SERVER_NAME} даже если HTTP_HOST = www.sex.com SERVER_NAME= sex.com в чем косяк х.з. |
Дык оно и не должно выполняться! ;) www.sex.com [не должно совпадать с] ^www.sex.com А оно совпадает, поэтому и не пашет! Как я понял, надо же наоборот, все хосты, кроме www.sex.com... Кстати, ты уверен, что на всех других доменах server_name не стоит их же? Может у тебя по апаче для каждого домена висит? ;) Да, и не забывай про случаи без www!
А смысл? Ты проверяешь, есть ли в хосте "www.", и если его нет - делаешь реврайт. Но наличие/остутствие www. от хоста не зависит ;)
|
K началу
|
|
|
bog
Зарегистрирован: 07.11.02
Сообщения: 1993
|
Добавлено: 01/03/04 в 11:20
|
|
perlmaster писал: | www.sex.com [не должно совпадать с] ^www.sex.com А оно совпадает, поэтому и не пашет! Как я понял, надо же наоборот, все хосты, кроме www.sex.com...
|
нет, надо наоборот чтоб был ТОЛЬКО www.sex.com.
твой вариант не пашет, можешь проверить сам ;)
хттп_хост = то что запрашивает броузер т.е. любая.хрень.домен.ком сервер_нейм = всегда то что прописано в апаче, т.е. имя домена второго уровня.
|
K началу
|
|
|
Pentarh
Зарегистрирован: 05.04.03
Сообщения: 2378
|
Добавлено: 01/03/04 в 12:58
|
|
Если правильно понял, надо все домены кроме www.name.com редиректить на последний?
Код: | RewriteCond %{HTTP_HOST} !^www\.name\.com* [NC] RewriteRule ^(.*)$ http://www.name.com/$1 [R=permanent,L]
|
-----------Корректировка--------------- не правильно я понял, сори  в апаче имхо проще это отконфигурить не-реврайтом.
Последний раз редактировалось: Pentarh (01/03/04 в 13:20), всего редактировалось 1 раз
|
K началу
|
|
|
BZ
Зарегистрирован: 19.02.03
Сообщения: 101
|
Добавлено: 01/03/04 в 13:15
|
|
bog писал: | Написал реврайт чтоб при запросе чего угодно кроме www.NAME.com всегда происходил редирект на www.NAME.com. Зараза пашет - но криво при запросе сабдиректорий уходит в цикл.
кто подскажет в чем ошибка ?
RewriteEngine On
rewritecond %{HTTP_HOST} !^www\.%{SERVER_NAME} RewriteRule ^(.*)$ http://www.%{SERVER_NAME}%{REQUEST_URI} [R=permanent,L] |
Ой, а зачем такие сложности? Чтобы при запросе any.NAME.com открывалось www.name.com достаточо использовать параметр ServerAlias в конфиге виртуал хоста. И никакие реврайты не нужны.
|
K началу
|
|
|
bog
Зарегистрирован: 07.11.02
Сообщения: 1993
|
Добавлено: 01/03/04 в 17:54
|
|
server alias это совсем не то, у меня они и так используются. но вот возникла необходимость чтобы только на www народ шел, поэтому и пришлось мод реврайт использовать, другого способа редиректить не знаю , звиняйте.
|
K началу
|
|
|
perlmaster
Зарегистрирован: 27.02.03
Сообщения: 674
|
Добавлено: 02/03/04 в 18:15
|
|
Так, может я таки понял что тебе нужно, пробуем так: rewritecond %{HTTP_HOST} ^([^.]+\.)?%{SERVER_NAME} и поехали...
|
K началу
|
|
|
barc
Зарегистрирован: 04.01.03
Сообщения: 52
|
Добавлено: 03/03/04 в 01:24
|
|
В конфиге апача UseCanonicalName включен или выключен?
|
K началу
|
|
|
fil
Зарегистрирован: 16.10.02
Сообщения: 287
|
Добавлено: 03/03/04 в 03:15
|
|
bog, можно так сделать. через настройку ДНСов редиректить все сабдомены на www.domain.com, типа:
(пусто) A 127.0.0.1 www A 127.0.0.1 * A 127.0.0.1
а уж на www модреврайтом разбираться с директориями
|
K началу
|
|
|
bog
Зарегистрирован: 07.11.02
Сообщения: 1993
|
Добавлено: 03/03/04 в 10:24
|
|
Народ, вас уже не туда понесло  НС и т.д. и так настроены как надо... нужно было чтоб в хедер редирект выдавался просто на ввв.
В общем задача уже решена, топик можно закрывать. Всем спасибо ;)
|
K началу
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |
Внимание! В связи с устареванием топика эта страница была взята из кэша.
|