mod_rewrite /-jel probléma
Szerencsére nagyon egyszerűen leírható a nagyon idegesítő problémám. Nem működik ez:
RewriteRule (.*) /index.html [L]
Perjel nélkül működik, de ennek perjellel is működnie kéne. Minden más szerveremen működik perjellel, fogalmam sincs, az egyiken miért nem, 500-as hibát ad vissza.
A probléma egyébként az egyik melléktünete egy másik problémának. Virtual hostokat akarok kezelni htaccess-ből: (a 4. sor csak debug, ahhoz nyilván a 3. sort kikommentelem)
A 4. sor úgy működik, ahogy kell: a $1-ben megkapom a hoston belüli elérési utat (érdekes módon QSA paraméter nélkül a fizikai utat adja át benne, méghozzá a végén az index2.php-val).
A 3. sor kéne nekem, viszont nem működik! Akkor se, ha a QSA-paramétert megadom. 500-as hibát ad. Másik szerveremen ez normálisan működik úgy, hogy a vsubdomains előtt perjel van (itt úgy megintcsak 500-as hiba lesz), és természetesen nem kell a QSA, elég az L.
Mitől lehet ez? DocumentRoot-tal nem lehet gond. Esetleg az, hogy a NameVirtualHost nem név alapú (*:80), hanem ip-alapú (xxx.xxx.xxx.xxx:80)? Dehát a kérés rendben befut a docrootba, hiszen a htaccess lefut!
■ RewriteRule (.*) /index.html [L]
Perjel nélkül működik, de ennek perjellel is működnie kéne. Minden más szerveremen működik perjellel, fogalmam sincs, az egyiken miért nem, 500-as hibát ad vissza.
A probléma egyébként az egyik melléktünete egy másik problémának. Virtual hostokat akarok kezelni htaccess-ből: (a 4. sor csak debug, ahhoz nyilván a 3. sort kikommentelem)
RewriteCond %{HTTP_HOST} !^www\.domain.hu$
RewriteCond %{HTTP_HOST} ^([\w-]+)\.domain.hu$
RewriteRule (.*) vsubdomains/%1/htdocs/$1 [L]
RewriteRule (.*) vsubdomains/%1/htdocs/index2.php?b=$1 [L,QSA]
RewriteCond %{HTTP_HOST} ^([\w-]+)\.domain.hu$
RewriteRule (.*) vsubdomains/%1/htdocs/$1 [L]
RewriteRule (.*) vsubdomains/%1/htdocs/index2.php?b=$1 [L,QSA]
A 4. sor úgy működik, ahogy kell: a $1-ben megkapom a hoston belüli elérési utat (érdekes módon QSA paraméter nélkül a fizikai utat adja át benne, méghozzá a végén az index2.php-val).
A 3. sor kéne nekem, viszont nem működik! Akkor se, ha a QSA-paramétert megadom. 500-as hibát ad. Másik szerveremen ez normálisan működik úgy, hogy a vsubdomains előtt perjel van (itt úgy megintcsak 500-as hiba lesz), és természetesen nem kell a QSA, elég az L.
Mitől lehet ez? DocumentRoot-tal nem lehet gond. Esetleg az, hogy a NameVirtualHost nem név alapú (*:80), hanem ip-alapú (xxx.xxx.xxx.xxx:80)? Dehát a kérés rendben befut a docrootba, hiszen a htaccess lefut!
hogy nekem mennyi eszem van...
Na pedig rájöhettem volna, mert már az errorlogot böngésztem debug loglevel-en, és láttam, hogy végtelen ciklusba kerül.
Csakhogy emlékszem, hogy kivettem azt a rohadt perjelet ez elől a vsubdomains elől, mondván, minek az, bahh...
Ennyi voltam, köszi mindenkinek:)
:]