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

Форум Apache

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

 

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

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

тема: RewriteRule - зеркало на суб-домене
 
 автор: DDK   (19.11.2009 в 16:42)   письмо автору
 
 

Приветствую, уважаемые!

Условия: Есть сайт, на нём в корневой директории стоит форум (IPB). Всё работает.

Задача: Хочу сделать PDA-версию форума, для этого мне нужно, чтобы на субдомене pda.domain.ru открывался всё тот же сайт, что и по запросу domain.ru, тобишь чтобы субдомен был просто зеркалом, но без видимого редиректа. Открываю domain.ru - вижу форум. Открываю sub.domain.ru - вижу тот же форум. Но надо чтобы при открытии форума по адресу sub.domain.ru переменная $_SERVER['SERVER_NAME'] содержала не domain.ru, а соответственно - sub.domain.ru. Это нужно для того, чтобы скрипт форума определял, какой скин одевать - обычный или облегчённый (pda).

Осложняющие обстоятельства:
1) На форуме стоит FURL, т.е. .htaccess главного домена замусорен редиректами. Его содержание привожу ниже.
2) Нужно, чтобы FURL работал и при заходе с sub.domain.ru, тобишь помимо инструкций в .htaccess субдомена, должны выполняться и инструкции .htaccess главного домена.

.htaccess главного домена:

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.domain.ru
RewriteCond %{REQUEST_FILENAME} !^admin/
RewriteRule ^(.*)$ http://domain\.ru/$1 [R=301,L]

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
</IfModule>

  Ответить  
 
 автор: heed   (19.11.2009 в 18:42)   письмо автору
 
   для: DDK   (19.11.2009 в 16:42)
 

не понятно что хотите сделать из htaccess и куда сейчас попадают запросы pda......
Просто чтобы они попадали туда-же куда и запросы основного сайта нужно изменять секцию <VirtualHost *> в httpd.conf, или включаемых им файлах

Обычно на хостингах есть интерфейс для создания/изменения поддоменов
, там они регистрируют эти имена записью на dns-сервере и автоматически создаётся секция <VirtualHost > в конф-файлах Apache

Изменить DocumentRoot для этого поддомена сможет только создание такого
<VirtualHost></VirtualHost> с диррективой DocumentRoot
или добавление записи
ServerAlias hostname www.hostname pda.hostname ...
в уже существующем <VirtualHost></VirtualHost> вашего основного hostname

// вообще-то всяко бывает ,бывает что просто уже зарегестрированы все *.hostname
, а запросы попадают непонятно куда

  Ответить  
 
 автор: DDK   (19.11.2009 в 23:53)   письмо автору
 
   для: heed   (19.11.2009 в 18:42)
 

Хмм... да, пожалуй, это будет действительно проще и не придётся заниматься удалением гланд через задний проход. Спасибо за идею! :)

P.S. А если документ-рут для субдомена сделать таким же, как у самого домена, те rewrite rule, которые я привёл в первом посте, нормально будут отрабатываться и при обращении с субдомена?

  Ответить  
 
 автор: ....   (20.11.2009 в 00:30)
 
   для: DDK   (19.11.2009 в 23:53)
 

Под виндой вроде нормально всё получается.
Предупреждений или уведомлений в логах нет.
Но чем выгодней ServerAlias , тем что секция <Virtualhost> и остальные настройки в ней не дублируются.

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

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