RuWeb.net Forum

Перенаправление с http://www.site.ru на http://site.ru
113 - 24.9.2003 в 22:11

Как сделать перенаправление с http://www.site.ru на http://site.ru ?
Чтобы при открытии http://www.site.ru/page.html срабатывал redirect на http://site.ru/page.html ?


RGBNET - 25.9.2003 в 01:38

Есть 2 варианта:
1. Не использовать программы, которые требуют такой жесткой привязки к домену (где-то я такие видел, даже ставить не стал);
2. можно попробовать поставить скирпт, который будет проверять, нет ли приставки www в адресе, и если есть - делать соответствующий редирект, если нет - выдавать содержимое страницы.


support - 25.9.2003 в 22:24

Все просто.
Пример.
В .htaccess:


Код:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.ruweb.net$
RewriteRule (.*) http://ruweb.net/$1 [L,R=301]
либо более глобально:
Код:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^ruweb.net$
RewriteRule (.*) http://ruweb.net/$1 [L,R=301]


Anonymous - 25.9.2003 в 23:55

support, спасибо.
Что означает "[L,R=301]" ?


support - 26.9.2003 в 12:43

А не помню. Может и не нужно оно.
Читайте доки...
http://www.egoroff.spb.ru/portfolio/apache/mod_rewrite.html
http://www.egoroff.spb.ru/portfolio/apache/rewriteguide.html


martini - 27.10.2004 в 13:27

почему-то не работает - перенаправляю с самодельного субдомена 3 уровня на другой сайт (за пределами хостинга), а открывается корневая директория субдомена :(
При этом запись в .htaccess есть, а в сPanel, в управлении субдоменами, поле "перенаправление" пустое.

[Изменено 27.10.2004 от martini]


kpv - 27.10.2004 в 14:56

Опять же можно сделать несколькими способами:
в файл index.html
добавить tag:
<meta http-equiv="Refresh" content="0; url=http://куда_переправить">
либо
в index.php
<?
header("Location: http://куда_идем");
?>



[Изменено 27.10.2004 от kpv]


martini - 27.10.2004 в 17:15

Ха! Так-то понятно, что можно... Хотелось как-то не так :)


support - 27.10.2004 в 17:21

Ну так нету телепатов...
Вы расскажите или покажите как у вас сделано, догда можно будет сказать в чем ваша ошибка...
Хотя попробую всеже угадать - может .htaccess в public_html лежит, хотя размещать его надо в public_html/поддомен/ ?


martini - 27.10.2004 в 18:22

он там и лежит. он после создания поддомена сам там появился, а может после попытки настроить этот директ...
---------
RewriteEngine on



RewriteCond %{HTTP_HOST} ^ant2on$ [OR]
RewriteCond %{HTTP_HOST} ^www.ant2on$
RewriteRule ^(.*)$ http://ant2on.narod.ru/$1 [R=301,L]

пробовал и страницу указывать: http://ant2on.narod.ru/index.htm

поддомен ant2on.codernames.info

[Изменено 27.10.2004 от martini]


support - 27.10.2004 в 18:40

А что такое %{HTTP_HOST} ^ant2on$ ?
что-то я сомневаюсь что вы на поддомен попадаете через адрес http://ant2on/


martini - 27.10.2004 в 18:50

это косяк цПанели - я думал она знает синтаксис лучше меня и не задумывался :) Щас попробую...
---
RewriteCond %{HTTP_HOST} ^ant2on.codernames.info/$ [OR]
RewriteCond %{HTTP_HOST} ^www.ant2on.codernames.info/$
RewriteRule ^(.*)$ http://ant2on.narod.ru/index.htm $1 [R=301,L]
---
мимо: Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

не томите уж, напишите, как надо :)

[Изменено 27.10.2004 от martini]


kpv - 2.11.2004 в 20:35

в error.log какая запись попадает?