"GET" ved rewrite .htaccess

Tags:    php

Hej alle sammen.

Jeg står med et stort problem.

Mine urls ser sådan her ud:
http://www.mitdomain.dk/kat_vind-rejser.html
http://www.mitdomain.dk/kat_vind-rejser.html?&offset=15

Og jeg benytter denne rewriting:
RewriteRule ^kat_([a-zA-Z0-9-]+)\.html$ index.php?site=kategori&cat=$1

Problemet er nu bare når man går ind på url nummer 2, så kan php ikke finde $_GET["offset"].

Er der nogen som kan hjælpe mig?



4 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Modifying the Query String
...to combine new and old query strings, use the [QSA] flag.
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#RewriteRule

I bund og grund står der at du skal tilføje [QSA] i slutningen af din RewriteRule.



Indlæg senest redigeret d. 23.06.2008 11:01 af Bruger #10216
umidelbart vil jeg tro at grunden til at den ikke kan finde variablen offset, er fordi den ikke med i din rewrite regel, men det kan også være fordi du skriver: ?& hvilket kun skal være et spørgsmålstegn.

Prøv at fjerne og tegnet, eller skal du have det med i din rewrite regel.

Det kan gøres ved at lave en ny regel der ligner:
RewriteRule ^kat_([a-zA-Z0-9-]+)\.html?offset=([a-zA-Z0-9-]+)$ index.php?site=kategori&cat=$1&offset=$2




Indlæg senest redigeret d. 22.06.2008 21:25 af Bruger #8845
umidelbart vil jeg tro at grunden til at den ikke kan finde variablen offset, er fordi den ikke med i din rewrite regel, men det kan også være fordi du skriver: ?& hvilket kun skal være et spørgsmålstegn.

Prøv at fjerne og tegnet, eller skal du have det med i din rewrite regel.

Det kan gøres ved at lave en ny regel der ligner:
RewriteRule ^kat_([a-zA-Z0-9-]+)\.html?offset=([a-zA-Z0-9-]+)$ index.php?site=kategori&cat=$1&offset=$2


Det var også det jeg var kommet frem til, men det er somom Rewriting ikk virker for hvad der står efter spørgsmålstegnet, og derfor virker den rewrite regl du har lavet ikke. Det havde jeg nemlig også selv prøvet uden held.

Jeg holder tråden åben, men jeg har lavet en midlertig lappeløsning som parser url'en og finder offset. Ikke verdens bedste løsning, men jeg var nød til at kode et eller andet ;)

Håber der er nogen som kan et andet trick :)



Indlæg senest redigeret d. 23.06.2008 10:53 af Bruger #8254
Modifying the Query String
...to combine new and old query strings, use the [QSA] flag.
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#RewriteRule

I bund og grund står der at du skal tilføje [QSA] i slutningen af din RewriteRule.


Mega fedt :D Rigtig mange tak for hjælpen :) Det var en langt bedre løsning end det jeg var kommet frem til ;)



t