Gå til innhold

hjelp med mod_rewrite()


Anbefalte innlegg

Har nå en stund prøvd å få mod_rewrite til å funke, men til ingen nytte.

 

.htaccess ser i skrivende stund slik ut:

 

Options		 +FollowSymLinks
RewriteEngine   On
RewriteBase	 /

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

RewriteRule	 ^([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$   /Site2/index.php?pg=$1&id=$2 [L,QSA]

 

og som det kanskje kommer fram, vil jeg at URLen:

/Site2/index.php?&pg=$1&id=$2

skal bli slik:

/Site2/index/$1/$2/

 

Men hvis jeg nå prøver dette på siden min, gir hverken $_GET['$1'] eller $_GET['$2'] noe resultat.

Kan dette være fordi jeg kjører på localhost eller har jeg gjort noe annet galt?

 

PS: $1 og $2 er selvfølgelig bare eksempel-verdier

Lenke til kommentar
Videoannonse
Annonse

Prøv å bruke $_GET['pg'] og $_GET['id'], siden det er de GET-variablene du sender til scriptet.

 

Edit: Ser at du bruker absolutte filbaner. Vær oppmerksom på at mod_rewrite vil lete etter /Site2/index.php fra root, og ikke relativ til filbanen til .htaccess-fila.

Endret av Lokaltog
Lenke til kommentar
Gjest Slettet+1298342134

Funker hos meg test her.

Her er .htaccess filen:

<IfModule mod_rewrite.c>
Options		 +FollowSymLinks
RewriteEngine   On
RewriteBase	 /

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

RewriteRule	 ^([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$   /skogen/hw/index.php?pg=$1&id=$2 [L,QSA]
</IfModule>

 

Er du sikker på at modulen kjører på serveren din?

Lenke til kommentar
Gjest Slettet+1298342134

Skift RewriteRule og se om du kommer til index.php når du skriver path til en mappe/fil som ikke finnes.

RewriteRule . /index.php

 

Kanskje står det i phpinfo() også, usikker:]

Lenke til kommentar
  • 2 måneder senere...

RewriteEngine on
RewriteBase /
RewriteRule ^(.+)/([a-zA-Z0-9+-]+)/?$ /test/?page=$1&title=$2

 

Her vil localhost/article/om-microsoft gi meg rett artikkel. Men jeg ser at hvis $2 ikke er tilstede, feiler mod_rewrite.

d.v.s. hvis jeg f.eks. går localhost/kontakt vil apache gi 404, og ikke /test/page=kontakt som jeg vil den skal gi. Hvordan løser jeg dette?

Lenke til kommentar
Er du sikker på at modulen kjører på serveren din?

 

Nei, hvordan kan jeg teste dette?

 

Mener du hvordan se om mod_rewrite er slått på?

 

Vis du har wamp:

venstreklikk på ikonet ->apache -> apache modules -> rewrite_module

Endret av php_user
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å
×
×
  • Opprett ny...