Rewrite, backreference querystrings

Tags:    php modrewrite querystrings apache

Hej alle,

Jeg sidder med en webshop, som jeg vil lave bedre urls til.

Nuværende link er:
Fold kodeboks ind/udPHP kode 


For at få links til at se bedre ud, vil jeg gerne kunne skrive links således:
Fold kodeboks ind/udPHP kode 



Sådan at jeg både fjerne php extension, samt erstatter querystring med /.

Jeg ved at jeg skal have fat i apache mod_rewrite og backreference. Indtil nu har jeg dette, som giver mig en 404 not found.

Burde jeg ikke kunne skrive et link sådan her, og min .htaccess sådan her:
Fold kodeboks ind/udPHP kode 


Og så fange den i $_GET['prodid']...

Det virker dog pt. ikke :-/



Indlæg senest redigeret d. 03.10.2013 11:34 af Bruger #16555
7 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Du har en / for meget

RewriteRule ^/varekort/([^/]+)/([^/]+) /varekort.php?$1=$2
skal laves om til
RewriteRule ^varekort/([^/]+)/([^/]+) /varekort.php?$1=$2



Det ser stadig ud til at det laver en fejl, desværre.

Jeg har dette link: (Url: varekort/prodid/523072)

Fold kodeboks ind/udPHP kode 


Med denne Rewrite:
Fold kodeboks ind/udPHP kode 


Herefter tjekker jeg på varekort.php, når et link er valgt:
Fold kodeboks ind/udPHP kode 


Når ikke at fange $_GET værdien, da jeg får "Not Found"..

ModRewrite er slået til, arbejder på localhost.

Nogen der kan se noget galt i link opbygning, og måden jeg vil fange querystring på varekort.php via $_GET[prodid]?

/Jan



Indlæg senest redigeret d. 04.10.2013 09:38 af Bruger #16555
Det ser stadig ud til at det laver en fejl, desværre.

Jeg har dette link: (Url: varekort/prodid/523072)

Fold kodeboks ind/udPHP kode 


Med denne Rewrite:
Fold kodeboks ind/udPHP kode 


Herefter tjekker jeg på varekort.php, når et link er valgt:
Fold kodeboks ind/udPHP kode 


Når ikke at fange $_GET værdien, da jeg får "Not Found"..

ModRewrite er slået til, arbejder på localhost.

Nogen der kan se noget galt i link opbygning, og måden jeg vil fange querystring på varekort.php via $_GET[prodid]?

/Jan


Kan ikke se nogen fejl i din kode, må være en opsætningsfejl eller et andet sted i din kode.



Har lige prøvet i to blanke filer og kan heller ikke gøre det deri.

Lavede samme link, med ?prodid=1

Rewrite rule, den samme som ovenstående - Med Not Found resultat.

Nogen idé til hvordan jeg kan fejlsøge på denne?
Fold kodeboks ind/udPHP kode 


Opsætningen ser også rigtig ud fra min side, men når det ikke virker, må der jo være en fejl....

Har tjekket rewrite_module er aktiveret, via wamp managers administration. + Kan også godt redirecte en fil til en anden.

Mine backreferences funger bare ikke..



prøv at opret et test

test.php
Fold kodeboks ind/udPHP kode 


.htacccess
Fold kodeboks ind/udKode 


gå ind på url: test/12345 - så skulle den gerne udskrive; array(1) { ["prodid"]=> string(5) "12345" }



Jeg får 404 not found, så kan ikke komme til at outputte noget :-/

Men jeg fik det til at virke med denne rewrite:
Fold kodeboks ind/udPHP kode 


Istedet for.
Fold kodeboks ind/udPHP kode 


Har ikke meget erfaring med det, så er nysgerrig efter hvorfor det virker, da jeg egentlig sad og testede lidt random?

/Klemme



har jeg ikke lige nogen bud på hvorfor



t