Gå til innhold

mod_rewrite, trenger hjelp!


Anbefalte innlegg

Jeg har lest guider, søkt her og sett på unrealized.org, men klarer ikke å skjønne dette med mod_rewrite.

 

Har aktivert mod_rewrite i httpd.conf

og laget en .htaccess i mappen der jeg skal bruke det.

 

Alle filene som inculderes ligger i samme mappe som .htaccess fila

 

slik ser .htaccess fila ut:


RewriteEngine on
RewriteRule "det er her jeg ikke veit hva jeg skal ha"

include scriptet ser slik ut :

 


<?php

$filnavn = $_GET['side'];

$fil = '.php';

if (isset($filnavn)) {

if (eregi("^[a-z0-9]+$", $filnavn)) {

include $filnavn . $fil;
}
else {
include "404.php";
}
}
else {
include "oss.php";
}
?>

som dere ser er URL nå:

 


xxxx/index.php?side="den aktuelle siden"

Ønsker en adresse som er slik her:


xxxx/"den aktuelle side"

 

Håper dere her kan hjelpe meg med dette, og takker på forhånd.

 

-Dan

Endret av danweb.cjb.net
Lenke til kommentar
Videoannonse
Annonse

Skjønner ikke hvorfor du posta config fila de, ta å edit den bort!

 

du kan prøve en versjon jeg bruker:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ([a-zA-Z_]+) ?side=$1

 

Her skriver du linken som "navnet på siden" bare

EKS: <a href="oss">Om oss</a>

Lenke til kommentar

var_dump($_GET);

viser:

array(1) { ["side"]=>  string(5) "tilby" }
array(1) { ["side"]=>  string(5) "hoved" }

på to av lenkene, mens de tre andre viser:

array(1) { ["side"]=>  string(6) "xxx" }
array(1) { ["side"]=>  string(10) "xxxx" }
array(1) { ["side"]=>  string(14) "xxxxx" }

I alt har jeg 5 lenker

 

Håper dette var til hjelp, det viser vell at $_GET har verdier iallefall :love:

Lenke til kommentar

Da er det en feil i PHP-scriptet ditt, og ikke mod_rewrite-koden.

 

Edit: Det er sikkert noe bøll med det regulære uttrykket i includescriptet ditt. Det er ingen grunn til å bruke både et regulært uttrykk i includescriptet OG .htaccess-fila (med noen unntakstilfeller).

Endret av Lokaltog
Lenke til kommentar

Ok, men skjønner ikke det, det funker helt fint og ser slik ut:

 

<?php

$filnavn = $_GET['side'];

$fil = '.php';

if (isset($filnavn)) {

if (eregi("^[a-z0-9]+$", $filnavn)) {

include $filnavn . $fil;
}
else {
include "404.php";
}
}
else {
include "oss.php";
}
?>

 

Dette er alt av PHP jeg har på siden min. Kan noen hjelpe meg å feilsøke?

Jeg kan desverre ikke PHP godt nok til å finne feilen(e)

 

- Dan

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...