Moi
Olen jäsentänyt eri sivustot jaetussa hostissa omiin alikansioihin.
Yksi WordPress saitti on omassa kansiossaan eli /public_htlm/wp. (A)
Yksi itsenäinen Drupal saitti /public_html/drupal7. (B)
Ja kolmas on kolmen sivun Drupal multisite /public_html/multisite. (C)
WordPressin tulisi pyöriä osoitteessa
domain1.tld/wordpress (Toimii)
Itsenäisen Drupal saitin tulisi pyöriä osoittessa
domain1.tld/drupal7 (Toimii)
Kolme multisiteen liittyvää sivustoa tulisi pyöriä osoitteissa
domain1.tld <- ensimmäinen sivusto multisiten osalta (multisite/sites/domain1.tld/) domain2.tld <- toinen sivusto multisiten osalta (multisite/sites/domain2.tld/) domain3.tld <- tämä on Drupali codebase/pääsivusto
Sen verran sain jo toimimaan, että kunkin sivun pääsivut aukeavat, mutta multisiten liittyvien sivustojen ns. alasivut eivät eli domain1.tld/testisivu päätyy "404 not found"(?q=testisivu toimii kylläkin eli siistityt URLt eivät ohjaudu oikein). Teemat toimivat ja sivustot näyttävät hyviltä, mutta alasivuja ei siis löydy siistityillä urleilla.
Nyt pitäisi selvittää, että liittyykö ongelma public_html/.htaccess tiedostossa tehtyyn konffiin vaiko multisite/.htaccess tiedostoon?
No sehän riippuu täysin niiden htaccess-filujen sisällöstä. Niiden sijainnilla ei sinällään ole mitään väliä, vaan voisit yhtä hyvin laittaa kaikki htaccess-konffit suoraan Apachen yleiseen asetustiedostoon tai vhostin konffiin.
Ao. on sijoitettu public_html alle, jonka avulla kaikki muut sivustot toimivat, mutta tuo domain3.tld ei toimi siistittyjen URLien kanssa (404):
Options -Indexes RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} ^(www.)?domain1.fi$ RewriteCond %{REQUEST_URI} ^/(wordpress)/ [NC] # Mätsätään omaan alikansioon RewriteRule !^wordpress/ wordpress%{REQUEST_URI} [QSA,L] RewriteCond %{HTTP_HOST} ^(www.)?domain1.fi$ RewriteCond %{REQUEST_URI} ^/(drupal7)/ [NC] # Mätsätään omaan alikansioon RewriteRule !^drupal7/ drupal7%{REQUEST_URI} [QSA,L] RewriteCond %{HTTP_HOST} ^(www.)?(domain3|domain2|domain1).fi$ # Mätsätään multisite sivustoille kuuluviin domaineihin RewriteCond %{REQUEST_URI} !^/(drupal7|wordpress)/ [NC] #Tarkistetaan ettei pyydetä kumpaakaan em. itsenäisistä saiteista (oikeastaan turha tässä kohtaa) RewriteRule ^(.*)$ multisite%{REQUEST_URI} [QSA,L] # Ohjataan alikansioon
En jaksa kokeilla enkä osaa noita ehtoja täydellisesti, mutta näyttäisi vähän siltä, että "varmuuden vuoksi" laitettu "turha" ehto rikkoo päättelyn, koska and-liitoksella noista kahdesta viimeisestä RewriteCondista tulee false, kun ei pyydetä alihakemistoa drupal7/ tai wordpress/. Tyypillistä.
On paljon järkevämpää pakottaa käyttäjät aina www-alkuiseen osoitteeseen. Sillä saisi myös siistittyä noita regexejä.
The Alchemist, oletko kuullut negaatiosta eli tässä tapauksessa !-merkistä?
Itse en nyt ylipäänsä ymmärrä, miten ensimmäisessä viestissä kuvaillut osoitteet ja polut muka sopivat noihin ehtoihin. Esimerkiksi sites näyttää puuttuvan htaccessista kokonaan.
Noh, ao. konffilla se pelaa ainakin:
Options -Indexes RewriteEngine on RewriteCond %{HTTP_HOST} ^(www.)?domain1.tld$ [NC] RewriteCond %{REQUEST_URI} ^wordpress/(.*)$ [NC] RewriteRule ^wordpress/ wordpress%{REQUEST_URI} [QSA,L,S=7] RewriteCond %{HTTP_HOST} ^(www.)?domain1.tld\/drupal7$ [NC] RewriteCond %{REQUEST_URI} ^drupal7/(.*)$ [NC] RewriteRule ^drupal7/ drupal7%{REQUEST_URI} [QSA,L,S=3] RewriteCond %{HTTP_HOST} ^(www.)?(domain3|domain2|domain1).tld$ RewriteRule ^(.*)$ multisite%{REQUEST_URI} [QSA,L]
Aihe on jo aika vanha, joten et voi enää vastata siihen.