Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: вопрос по rewriterule
 
 автор: bobmp   (06.01.2010 в 18:49)   письмо автору
 
 

Приветствую.
Помогите разобраться с редиректом.
Нужно чтобы при наборе в адресной строке что-то типа 123.domail.ru пользователь видел страницу domain.ru/catalogue/123.html
Тоже самое с www: www.123.domain.ru -> www.domain.ru/catalogue/123.html
Заранее спасибо.

  Ответить  
 
 автор: .heed   (06.01.2010 в 22:31)
 
   для: bobmp   (06.01.2010 в 18:49)
 

RewriteCond позволяет обработать %{HTTP_HOST}
и получить его часть.
Но будут_ли запросы любых поддоменов попадать в эту дирректорию,
проберьте например так
RewriteRule .* ?%{HTTP_HOST} [R]
доходят.ли запросы вообще

  Ответить  
 
 автор: bobmp   (07.01.2010 в 20:06)   письмо автору
 
   для: .heed   (06.01.2010 в 22:31)
 

К сожалению не проходят :(
Мне кажется что нужно так:
RewriteCond %{HTTP_HOST} ^(.*).domain.ru [NC]
RewriteRule ^(.+)$ http://domain.ru/catalogue$1.html [R=301,L]

Но конечно же не работает. а тем более с учетом www

  Ответить  
 
 автор: .heed   (07.01.2010 в 20:25)
 
   для: bobmp   (07.01.2010 в 20:06)
 

Обычно на днс-серверах можно сделать запись типа *.host.zone
, но в файлах hosts виндовс говорят так нельзя .
есть какие.то open.source dns.серверы под виндовс , типа Posadis
, но что.то я его пока никак не переделал под свои нужды .
а на хостинге нужно смотреть чего по днс есть в панели управления аккаунтом

  Ответить  
 
 автор: bobmp   (08.01.2010 в 10:04)   письмо автору
 
   для: .heed   (07.01.2010 в 20:25)
 

а разве нельзя это решить с помощью rewrite_rule?
я просто фигово в этом разбираюсь - вот и не могу точно выражение подобрать.

  Ответить  
 
 автор: .heed   (08.01.2010 в 15:53)
 
   для: bobmp   (08.01.2010 в 10:04)
 

у Вас нормальное выражение ,) только точки некоторые не заэкранированы и не обозначен конец строки http_host
. Всёравно совпадение было.бы успешным .
Только $1 это из rule, а из cond %1

Но ответит.ли dns.сервер на запрос любого такого имени ip.адресом Вашего хоста .
Вы даже не сказали где хотите сделать такие поддомены

  Ответить  
 
 автор: bobmp   (08.01.2010 в 18:41)   письмо автору
 
   для: .heed   (08.01.2010 в 15:53)
 

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

  Ответить  
 
 автор: heed   (08.01.2010 в 19:33)   письмо автору
 
   для: bobmp   (08.01.2010 в 18:41)
 

>мажордомо
не знаю такого

Просто создайте поддомен *
, или может *.hostname.ru в панели управления доменами предлагается

  Ответить  
 
 автор: kosta_in_net   (09.01.2010 в 05:42)   письмо автору
 
   для: heed   (08.01.2010 в 19:33)
 

поддомены прописываются в настройках сервера. Насколько я знаю, штассессом их не порулить. Остается только вручную через панель хостера.

  Ответить  
 
 автор: bobmp   (11.01.2010 в 18:35)   письмо автору
 
   для: kosta_in_net   (09.01.2010 в 05:42)
 

да, спасибо скорее всего так. Хорошо у моего хостера есть опция "автоматического создания поддоменов" - попробую с ее помощью выкрутиться.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования