На моем общем сервере хостинга (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 /