2013-03-13 3 views
1

Я пытаюсь создать перенаправление на разные файлы для разных субдоменов, возможно, доменов в будущем. Это основано на ModX CMS.субдомены, связанные с различными файлами с использованием htaccess

Я хочу сохранить url то же самое, просто запустите другой файл для каждого поддомена, передав некоторые данные. Для domain.com это index.php, для sub1.domain.com - sub1.php. Кроме того, я хочу передать некоторые данные, вы можете увидеть в приведенном ниже примере:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) /index.php?q=$1 [L,QSA] 

RewriteCond %{HTTP_HOST} ^sub1\.domain\.com [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) /sub1.php?q=$1 [L,QSA] 

RewriteCond %{HTTP_HOST} ^sub2\.domain\.com [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) /sub2.php?q=$1 [L,QSA] 

RewriteCond %{HTTP_HOST} ^sub3\.domain\.com [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) /sub3.php?q=$1 [L,QSA] 

RewriteCond %{HTTP_HOST} ^sub4\.domain\.com [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) /sub4.php?q=$1 [L,QSA] 

RewriteCond %{HTTP_HOST} ^sub5\.domain\.com [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) /sub5.php?q=$1 [L,QSA] 

RewriteCond %{HTTP_HOST} ^sub6\.domain\.com [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) /sub6.php?q=$1 [L,QSA] 

# The Friendly URLs part 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 

Я попытался # последние 3 строки, но оно не имеет никакого значения. У меня больше строк в htaccess, но они #. Субдомен, который я создаю в панели управления моего сервера, все поддомены расположены в одном каталоге (public_html).

Сейчас я не уверен, что данные передаются, и когда я перехожу на sub1.domain.com, apache перенаправляет меня на www.domain.com/sub1.php, это неправильно.

Как связать субдомены с их файлами php и сохранить url одинаково (sub1.domain.com) ??

ответ

1

Удалите излишние вещи и сохранить ваш следующий код:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} ^www\.domain\.com [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) /index.php?q=$1 [L,QSA] 

RewriteCond %{HTTP_HOST} ^sub1\.domain\.com [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) /sub1.php?q=$1 [L,QSA] 
+0

ТНХ для Отзовитесь, это то, что я получаю: 'Запрос превысил лимит 10 внутренних переадресовывает из-за вероятной ошибки конфигурации. Используйте «LimitInternalRecursion», чтобы увеличить предел, если это необходимо. Используйте «LogLevel debug», чтобы получить обратную трассировку., Referer: http: // sub1.domain.com/'. У меня 6 поддоменов. – miszczu

+0

Существует ли sub1.php под $ DOCUMENT_ROOT из 'sub1.domain.com'? – anubhava

+0

Да, все поддомены указываются на public_html - папку домена. Вот почему я хочу использовать htaccess для указания их на разные файлы. Причина, по которой я хочу это сделать, это ссылки (изображения, js, css) в шаблонах, cms ... Все файлы уже существуют. – miszczu