Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: ModRewrite ongelmaa

risingforce [28.09.2010 17:50:04]

#

Voisko joku auttaa en saa millään toimimaan ModRewriteä serverimaailma.fi hotellissa. Tuki on ja .htaccess tiedosto on tehty ja toimii tällä ohjeella:

http://www.wallpaperama.com/forums/how-to-test-check-if-mod-rewrite-is-enabled-t40.html

Sivuni ovat:

http://www.timelessfields.net
joka uudelleenohjautuu /suomi/index.php kansioon.
koodi: header( 'Location: http://www.timelessfields.net/suomi' ) ;


Pitäisi saada silleen että tuo index.php poistuu samoin kuin:
http://www.patricktaylor.com/mod_rewrite-hideindex
ohjeen mukaan.

Olen koittanut useita tunteja mutta mikään säätö ei näytä toimivan, myös kokeillut erillaisia modrewrite generatoreita.


http://www.timelessfields.net/suomi/index.php?sivu=news
pitäisi siis saada muotoon:
http://www.timelessfields.net/suomi/news
tai vastaavasti.


Tässä on index.php sivun koodi:

<?php
ob_start();
$browser = $_SERVER['HTTP_USER_AGENT'];
$sivu=$_GET['sivu'];
switch($sivu){
default: $inc = "news.php";
break;
case "links": $inc = "links.php";
break;
case "ari": $inc = "ari.php";
break;
case "band": $inc = "band.php";
break;
case "jake": $inc = "jake.php";
break;
case "kristian": $inc = "kristian.php";
break;
case "disco": $inc = "disco.php";
break;
case "history": $inc = "history.php";
break;
case "vbg": $inc = "guestbook.php";
break;
case "light": $inc = "light.php";
break;
case "darkness": $inc = "darkness.php";
break;
case "arvostelut": $inc = "arvostelut.php";
break;

}
if(file_exists($inc)){
include $inc;
}
else{ include('huolto.php');

}
ob_end_flush();
?>

Kutsun linkkejä näin:

<a href="index.php?sivu=news" id="uutiset">

.htaccess tiedoston olen filezilla pistänyt pää juureen sekä yrittänyt myös /suomi kansiossa. Vaikka mitä säätää koskaan ei lyhene osoite.

Kiitän avusta!

Mod. lisäsi kooditagit

-tossu- [28.09.2010 19:59:20]

#

risingforce kirjoitti:

http://www.timelessfields.net/suomi/index.php?sivu=news
pitäisi siis saada muotoon:
http://www.timelessfields.net/suomi/news
tai vastaavasti.

Tämän pitäisi toimia:

RewriteEngine on
RewriteBase /
RewriteRule ^suomi/([^/\.]+)/?$ suomi/index.php?sivu=$1

risingforce [28.09.2010 21:32:37]

#

-tossu- kirjoitti:

Tämän pitäisi toimia:

RewriteEngine on
RewriteBase /
RewriteRule ^suomi/([^/\.]+)/?$ suomi/index.php?sivu=$1

Koittelin tuota koodia juureen sekä /suomi kansion juureen mutta ei tapahtunut mitään. Täältä löytyy tuo phpinfo tiedosto http://www.timelessfields.net/phpinfo.php

Mitään merkittävää en löytänyt mikä tuon ReWriten toimimattomuuden voisi aiheuttaa. Alkaa olla aika juminen juttu onkohan jossain CASE määrityksessä vikaa?, vaikka tuntuis nuo sivut muuten toimivan.

Metabolix [28.09.2010 21:53:13]

#

Yksi vika ainakin on siinä, että itse tulostat linkkiin väärän osoitteen. Rewrite ei muuta linkkejä tai selaimen toimintaa mitenkään, vaan se vain kertoo palvelimelle, että kun joku pyytää sivua /sivut/moi, annetaankin sen sijaan /sivut/index.php?sivu=moi. Tämä siis tapahtuu vain ja ainoastaan palvelimella ja jo ennen PHP-skriptin ajamista.

risingforce [28.09.2010 22:58:02]

#

Metabolix kirjoitti:

...

Tuo valaisi asiaa, hieno homma että ihmiset viitsivät auttaa!

Kiitän!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta