Переадресация в .htaccess

Dreamer76

Through thorns
Переадресация в .htaccess

Добрый день!

Как сделать такую переадресацию через .htaccess:
Пользователь обращается на физически не существующий поддомен, например: name1.domen.ru или на name2.domen.ru, в корне сервера лежит .htaccess, который и обрабатывает эти запросы пересылая пользователей на страницу с нужной строкой запроса соответсвенно: www.domen.ru/page.htm?id=name1 или www.domen.ru/page.htm?id=name2
Как такое сделать?

Если не затруднит, пожалуйста, напишите код. Я уже пол инета облазил с mod_rewriter и ничего не нашел. Мне на примере лучше дается познать эти вещи.

Заранее спасибо!
 

white phoenix

Новичок
Там всё написано про это. А вообще советую обратиться к администратору хостинга.
 

sal

Новичок
Люди, я не могу понять одной вещи, как без внесения дополнительных записей в DNS (а только в конфигурацию апача) получить виртуальный хост?
 

physh

поедатель запятых
В DNS тоже надо внести изменения, чтобы он знал куда перенаправлять все поддомены. Это довольно легко, надо всего лишь "*" прописать на тот же ip, где и www висит. Если это контролируете не Вы, то попросите того кто этим делом занимается.

ЗЫ: на апаче тоже надо прописывать что идет и куда.
 

Dreamer76

Through thorns
так как же мне сделать так, чтобы обращение на name1.mydomain.ru перенаправлялось на страницу www.mydomain.ru/index.php?id=name1 ?

:( админы на хостинге говорят, что это делается через .htaccess и отказываются помочь :( скажите, где можно прочитать мануал именно про ЭТОТ споcоб перенаправления или примеры может где есть или у кого-нибудь есть.

помогите пожалуйста. очень нужно!!!

-~{}~ 29.01.06 23:40:

Как вариант реализовал так:

За основу взял скрипт subdomains.php

<?
$domain = "mydomain.ru";

$default_page = "index.php";

$use_frames = "yes";


$underdomaene = $HTTP_HOST;
$underdomaene = eregi_replace("\.".$domain, "", $underdomaene);
$underdomaene = eregi_replace("www\.", "", $underdomaene);
$underdomaene = strtolower($underdomaene);

if (is_dir("$DOCUMENT_ROOT/$underdomaene")) {

if ($use_frames == "yes") {
echo "<html><head><title>$HTTP_HOST</title>\n\n";
echo "<!---------------------------------------------------------------------\n";
echo " The sub domains at $domain were created using\n";
echo " the PHP script \"Subdomains\"\n";
echo "---------------------------------------------------------------------->\n\n";
echo "</head>\n\n\n\n";
echo "<frameset cols=100%,* frameborder=no border=0 framespacing=0>\n";
echo "<frame src=http://$domain/$underdomaene>\n";
echo "<noframes>\n";
echo "<body bgcolor=black link=silver alink=black vlink=gray>\n";
echo "<font face=helvetica color=white><center>\n";
echo "This page uses frames, but it seems that your browser does not support this feature.\n";
echo "To move on, click here:<br><a href=http://$domain/$underdomaene>$domain/$underdomaene</a>\n";
echo "</center></font>\n";
echo "</body>\n";
echo "</noframes>\n";
echo "</frameset></html>\n";
}

else {
header("Location: http://$domain/$underdomaene");
}
}

else {
if (!$REQUEST_URI || $REQUEST_URI == "/") {
include("$DOCUMENT_ROOT/$default_page");
}
else {
header("Location: http://$domain$REQUEST_URI");
}
}
?>

--------------------------------------------------------------------------

и воткнул его в файл 404.php


создал директорию DA в корне своего сайта mydomain.ru

в папку сунул INDEX.PHP, в котором только пересылка <meta http-equiv="REFRESH" content="0;" на страницу, которую хочу привязать к http://da.mydomain.ru ...


и если открыть http://da.mydomain.ru/404.php - открывается эта страница :)

теперь осталось только уговорить админов хостинга, чтобы можно было задействовать DocumentError в .htaccess... сами знаете для чего ))

вот так.

как считаете, хреновая мысль?
 

baev

‹°°¬•
Команда форума
А зачем «множить сущности»?

Приведённый код (чуток поправив) сразу в index.php нельзя вставить?
 

Dreamer76

Through thorns
можно.
только придется не только в index.php правки вносить, но и много где еще..

-~{}~ 31.01.06 23:40:

А вот волшебный код, который перекидывает из mydomain.com/images на images.mydomain.com


RewriteEngine on
RewriteOptions MaxRedirects=10
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^(www\.)?mydomain\.com$ [NC]
RewriteCond %{HTTP_HOST}<->%{REQUEST_URI} ^(www\.)?([^.]+).*<->/([^/]+) [NC]
RewriteCond %2<->%3 !^(.*)<->\1$ [NC]
RewriteRule ^(.+) /%2/$1 [PT,L]


У одних работает. У меня выдает 500 ошибку :( Помогите пожалуйста найти багги.

Спасибо
 

Dreamer76

Through thorns
а у меня нет к нему доступа ))
поверь, но это так. на вскидку не скажешь?
 
Сверху