Edelleenohjaus
- Edelleenohjaus Apache-WWW-palvelimissa
- Mikä voi mennä pieleen edelleenohjauksen määrityksessä?
- Onko käyttämäni WWW-palvelin Apache?
Monesti käy niin, että dokumentit muuttavat paikkaansa ja saattaa olla hyvin vaivalloista muuttaa kaikkia niihin osoittavia linkkejä. Muiden tekemien linkkien muuttaminen on mahdotonta. Tällöin tulee ratkaisuksi edelleenohjaus, jolla selain saadaan kulkeutumaan automaattisesti uuteen osoitteeseen.
Edelleenohjaus Apache-WWW-palvelimissa
Seuraavassa ohje, miten edelleenohjaus tehdään Apache-WWW-palvelimissa. Miten tiedän onko käyttämäni WWW-palvelin apache?
- Osoitteessa http://www.foo.example/juttu/doc/ oleva tiedosto on siirtynyt uuteen osoitteeseen: http://www.bar.example/doc/juttu/. Varmistetaan, että olemassaolevat linkit toimivat jatkossakin ja tehdään edelleenohjaus uuteen osoitteeseen.
- Muokataan tai luodaan kokonaan uusi .htaccess-tiedosto joko suoraan www.foo.example-palvelimen juttu/doc/-kansioon tai mihin tahansa kansiohierarkiassa doc-kansiota ylempänä olevaan kansioon. Sijoituspaikaksi kelpaisivat siis myös juttu-kansio tai koko sivuston juurihakemisto.
-
Lisätään .htaccess-tiedostoon rivi:
redirect permanent /juttu/doc/ http://www.bar.example/doc/juttu/
- redirect on komento, joka tekee edelleenohjauksen.
- permanent tarkoittaa, että sivu on siirtynyt kiinteästi
eli kaikki sivuun viittaavat linkit pitää päivittää uusiksi.
Esim. Google päivittäisi hakutuloksiinsa uuden osoitteen.
Jos permanent-sanan jättää pois, niin kyseessä on väliaikainen edelleenohjaus, joka tarkoittaa, että vanha osoite on edelleen voimassa, mutta dokumentti sijaitsee vain väliaikaisesti uudessa osoitteessa. Esim. Google antaisi hakutuloksissa edelleen vanhan osoitteen eikä korvaisi sitä uudella.
- /juttu/doc/ on edelleenohjattavan dokumentin osoitteen loppuosa, joka tulee palvelimen nimen jälkeen. Ei siis koko osoite.
- http://www.bar.example/doc/juttu/ on dokumentin koko uusi osoite riippumatta siitä sijaitseeko uusi osoite samalla palvelimella kuin vanha.
Tyypillisin esimerkki väliaikaisesta edelleenohjauksesta on WWW-palvelimien automaattisesti tekemä edelleenohjaus, jos WWW-sivun osoite viittaa kansioon, mutta osoitteesta jätetään pois viimeinen /-merkki. Esim. annetaan osoitteeksi http://appro.mit.jyu.fi/2004/kevat/www/demot/demo7, eikä http://appro.mit.jyu.fi/2004/kevat/www/demot/demo7/. Ensimmäinen osoite viittaa demo7-nimiseen tiedostoon ja jos sitä ei löydy, niin Apache edelleenohjaa automaattisesti demo7/-kansioon.
Mikä voi mennä pieleen edelleenohjauksen määrityksessä?
- Olet kirjoittanut ohjattavan dokumentin osoitteen väärin.
- .htaccess-tiedosto on väärässä kansiossa.
- .htaccess-tiedostoon ei ole kaikilla lukuoikeutta.
Onko käyttämäni WWW-palvelin Apache?
Anna Web-Snifferille dokumenttisi osoite ja katso mitä lukee Web-Snifferin HTTP Response Header -otsikon alta löytyvästä Server-kohdasta.
Käyttäjien kommentit