Назад | Перейти на главную страницу

правила mod_rewrite для запуска fcgi для разных поддоменов

На моем общем сервере хостинга (Hostmonster) у меня есть настройка django (фактически pinax), так что правило .htaccess mod_rewrite перезаписывает запрос в файл pinax.fcgi:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ pinax.fcgi/$1 [QSA,L]

Я бы хотел, чтобы в зависимости от используемого домена (или поддомена) вызывался другой файл pinax.fcgi, примерно так:

RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ pinax2.fcgi/$1 [QSA,L]


RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ pinax.fcgi/$1 [QSA,L]

Он хранится в файле .htaccess в моей папке ROOT public_html (а не в папке public_html / subdomain /), но, к сожалению, просто приводит к ошибкам внутреннего перенаправления. Как я могу написать эти правила, чтобы они использовали разные файлы fcgi для разных доменов?

Я понял.

В корень .htaccess (в public_html) положить:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^subdomain\.domain\.com$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ pinax.fcgi/$1 [QSA,L]

В вашем поддомене .htaccess (в public_html / subdomain) поместите:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ pinax2.fcgi/$1 [QSA,L]

pinax2.fcgi должен находиться в каталоге public_html / subdomain /, а pinax.fcgi должен находиться в каталоге public_html /