mod_rewrite aturan untuk menjalankan fcgi untuk subdomain yang berbeda


2

Di server hosting bersama saya (Hostmonster) saya memiliki pengaturan Django (sebenarnya pinax) sehingga aturan mod_rewrite .htaccess menulis ulang permintaan ke file pinax.fcgi:

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

Yang ingin saya lakukan adalah memiliki file pinax.fcgi yang berbeda dipanggil tergantung pada domain yang digunakan (atau subdomain), sesuatu seperti ini:

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]

Ini disimpan dalam file .htaccess di folder ROOT public_html saya (bukan di folder public_html / subdomain /), tetapi sayangnya hanya menghasilkan kesalahan redirect internal. Bagaimana saya bisa menulis aturan ini sehingga mereka menggunakan file fcgi berbeda untuk domain yang berbeda?

Jawaban:


2

Saya menemukan jawabannya.

Di root .htaccess (di public_html) masukkan:

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

Di subdomain Anda .htaccess (di public_html / subdomain) masukkan:

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

pinax2.fcgi harus di direktori public_html / subdomain /, dan pinax.fcgi harus di public_html /


1
Anda berhak mendapatkan +1 lebih banyak untuk ini - saya telah mencari solusi selama berjam-jam!
danodonovan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.