webForumDet fria alternativet

regexp & mod_rewrite

Webbutveckling

3 svar · 376 visningar · startad av paddan

Medlem sedan dec. 2002299 inlägg
Frågan#1

Hej,
Det är en gåta för mig det här med regexp. Får inte rätt på det.
Ska använda mig utav mod_rewrite på en sida.
Adressen ser ut så här:index.php?placid=5&id=65

Vill kunna skriva denna adressen
/blabla/blabla/placid_5-id_65.html

Hur skriver jag detta?
Det fungerar med "placid"

RewriteCond %{QUERY_STRING} (.*)$
RewriteRule placid_([0-9]+)(\.[a-z]{3,4})?(.*)$	 index.php?placid=$1&id=$2 [NC]
Medlem sedan juni 20019 519 inlägg
#2
RewriteRule placid_([\d]+)\-id_([\d]+)\.html$	 index.php?placid=$1&id=$2 [NC]
Medlem sedan dec. 2002299 inlägg
#3

Fungerar eh tyvärr
Kodat:
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule placid_([\d]+)\-id_([\d]+)\.html$ index.php?placid=$1&id=$2 [NC]

Skriver in adressen:
/placid_5-id_65.html

Medlem sedan juni 20019 519 inlägg
#4

har ingen aning om hur mod_rewrite fungerar men om du vill ha en matchning på:

/blabla/blabla/placid_5-id_65.html

dvs: 5 och 65 kan variera som ett tal så skall

placid_([\d]+)\-id_([\d]+)\.html$

fungera.

Undra om RewriteCond %{QUERY_STRING} (.*)$ ska vara QUERY_STRING. /placid_5-id_65.html har ju ingen querystring
om nu inte mod_rewrite inte förstå \d:

RewriteRule placid_([0-9]+)\-id_([0-9]+)\.html$	 index.php?placid=$1&id=$2 [NC]
274 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
137 ms — ändringar (db)