paddan Medlem sedan dec. 2002 299 inlägg Frågan 5 mars 2008 14:55 #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]
RewriteRule placid_([\d]+)\-id_([\d]+)\.html$ index.php?placid=$1&id=$2 [NC]
paddan Medlem sedan dec. 2002 299 inlägg 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
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]