Meinaa ottaa jo vähän hermoon, mutta monien tekijäiden summana minulla on yksi sivusto, johon ohjataan 3 eri domainia. Nämä 3 eri domainia ovat eri kieliversioita.
Eli oletetaan esim että www.domain.fi www.domain.de www.domain.se
Silläntuotanto on toteutettu niin, että jokaiselle kieliversiolla on oma koodinsa. Eli www.domain.fi on suoraan sivuston juuressa, www.domain.de on DE/ kansiossa.
Nyt .htaccess viritys näyttää tältä:
# Tässä muutetaan URLit alikansioihin domainin mukaan RewriteCond %{HTTP_HOST} .*domain\.se RewriteCond %{REQUEST_URI} !^/SE RewriteRule ^(.*)$ SE/$1 RewriteCond %{HTTP_HOST} .*domain\.de RewriteCond %{REQUEST_URI} !^/DE RewriteRule ^(.*)$ DE/$1 # Tarkistetaan onko tiedosto olemassa, jos ei, siirretään URL sisällönhallintaan # Eli URL pitää olla tässävaiheessa viitata todelliseen hakmistoon RewriteCond %{HTTP_HOST} .*domain\.de RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ DE/index.php?q=$1 [PT,NC,QSA] RewriteCond %{HTTP_HOST} .*domain\.se RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ SE/index.php?q=$1 [PT,NC,QSA] RewriteCond %{HTTP_HOST} .*domain\.fi RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [PT,NC,QSA]
Tämä toimii lähes oikein, mutta esim www.domain.se/etusivu2 muuttuu ilmeisesti muotoon www.domain.se/SE/index.php?q=SE/etusivu2 vaikka haluaisin www.domain.se/SE/index.php?q=etusivu2
Yritin jo tehdä vielä lisäsääntöä joka poistaa tuon ylimääräisen osan, mutta en ilmeisesti osannut. Voisiko tämän tehdä jotenkin helpommin? Ei vain sytytä. Varsinkin, kun teen tuota .htaccessia ensimmäistä kertaa.
EDIT:
Sainpas sittenkin toimimaan
RewriteCond %{HTTP_HOST} .*domain\.de RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^DE(.*)$ DE/index.php?q=$1 [PT,NC,QSA]
Enpä tiedä onko oikea ratkaisu, mutta toimii eikä kukaan koskaa näe.
Ja vielä ku pisti joka sääntön [L] niin tuntuu toimivan jopa järkevästi. Toivottavasti ei tarvitse enää ikinä tutustua Apache dokumentteihin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.