Avatar billede tommyf Nybegynder
15. januar 2008 - 17:39 Der er 17 kommentarer og
1 løsning

Hjælp til udtryk

Jeg vil meget gerne lave denne type sætning om:
dims-kategori.asp?id=4&navn=dutter

Til i stedet at være:
dims-kategori/dutter-4/

Eller:
dims-kategori-4/dutter/

Hvis det gør nogen forskel, skal det benyttes til dette ISAIP-filter, som efter deres eget udsagn skulle understøtte det meste:

Does IIRF support regular expressions for rewrite rules?
Yes. a Perl-compatible regular expression syntax is supported, with negative lookaheads, conditionals, and so on.

Outstanding! Where does the regular expression support come from?
It comes from the open-source PCRE library.
http://www.codeplex.com/IIRF
Avatar billede nielle Nybegynder
15. januar 2008 - 19:30 #1
Tilfælde 1)

dims-kategori/dutter-4/

burde kunne gøres med:

RewriteRule ^dims-kategori/(.*?)-(\d+)/ dims-kategori.asp?id=$2&navn=$1


Tilfælde 2)

dims-kategori-4/dutter/

burde kunne gøres med:

RewriteRule  ^dims-kategori-(\d+)/(.+?)/ dims-kategori.asp?id=$1&navn=$2
Avatar billede tommyf Nybegynder
15. januar 2008 - 20:29 #2
Tak for din hjælp Nielle.

Når jeg prøver denne adresse, virker det fint:
http://localhost/dims/dims-kategori.asp?id=1&name=dutte

Denne adresse, giver dog fejl:
http://localhost/dims/dims-kategori/dutte-4/

Skulle det ikke virke? Min .ini fil indeholder nu:
RewriteRule ^postkort-kategori/(.*?)-(\d+)/ postkort-kategori.asp?id=$2&navn=$1
Avatar billede nielle Nybegynder
15. januar 2008 - 20:35 #3
Begge RewriteRule's skal med hvis begge url's skal virke.

Uhm, du skriver "dims-ketegori" i dine urls og "postkorts-kategori" i din rewtite url?
Avatar billede nielle Nybegynder
15. januar 2008 - 20:35 #4
rewtite url? --> rewrite rule?
Avatar billede tommyf Nybegynder
15. januar 2008 - 20:54 #5
Det var egentlig et forsøg på at holde det lidt neutralt, men det er hvis ligegyldig.

Gammel adresse:
http://localhost/stdpostkort/postkort-kategori.asp?id=4

Ønsket ny adresse:
http://localhost/stdpostkort/postkort-kategori/dims-4/

Komplette indhold af IsapiRewrite4.ini:
RewriteRule ^postkort-kategori/(.*?)-(\d+)/ postkort-kategori.asp?id=$2&navn=$1
RewriteRule  ^postkort-kategori-(\d+)/(.+?)/ postkort-kategori.asp?id=$1&navn=$2
Avatar billede nielle Nybegynder
15. januar 2008 - 21:06 #6
Om vi skriver "posykort" eller "dims" kan vel komme ud på ét.

Skal det fporstås sådan at du gerne vil kunne skrive:


http://localhost/stdpostkort/postkort-kategori/dims-4/

i din browsers adresse linje, og så skal det sendes videre til:

http://localhost/stdpostkort/postkort-kategori.asp?id=4&navn=dims

uden at folk opdager det? Du skrev ellers ikke noget om det lille dims ovenfor.

Det burde så vidt jeg kan se blive gjort med denne regel:

RewriteRule ^postkort-kategori/(.*?)-(\d+)/ postkort-kategori.asp?id=$2&navn=$1


Læg dog mærke til at der er forskel på:

http://localhost/dims/dims-kategori/dutte-4/

og:

http://localhost/dims/dims-kategori/dutte-4
Avatar billede tommyf Nybegynder
15. januar 2008 - 21:29 #7
>Skal det forstås sådan at du gerne vil kunne skrive:
>http://localhost/stdpostkort/postkort-kategori/dims-4/
>i din browsers adresse linje, og så skal det sendes videre til:
>http://localhost/stdpostkort/postkort-kategori.asp?id=4&navn=dims
>uden at folk opdager det?

Lige præcis!

Den her virker, selvfølgelig, som den skal:
http://localhost/stdpostkort/postkort-kategori.asp?id=4&navn=dims

Men selv efter at have sat din seneste linje ind, giver denne stadig bare en 404:
http://localhost/stdpostkort/postkort-kategori.asp?id=4&navn=dims


http://localhost/stdpostkort/postkort-kategori.asp?id=4&navn=dims
Avatar billede nielle Nybegynder
15. januar 2008 - 21:36 #8
Du har skrevet det samme alle url tre gange?
Avatar billede tommyf Nybegynder
15. januar 2008 - 21:40 #9
Beklager, at jeg er lidt forvirrende i dag. Er glad for at du hænger ved alligevel :)


Den her virker, selvfølgelig, som den skal:
http://localhost/stdpostkort/postkort-kategori.asp?id=4&navn=dims

Men selv efter at have sat din seneste linje ind, giver denne stadig bare en 404:
http://localhost/stdpostkort/postkort-kategori/dims-4/

Og har lige prøvet at genstarte, for at være sikker på at den nyeste .ini er indlæst.
Avatar billede tommyf Nybegynder
15. januar 2008 - 21:59 #10
det er nok det ISAPI filter, der driller... hvis du siger det skal virke, må det være noget andet, der skal arbejdes på, indtil det virker. Du skal ha' mange tak for hjælpen. Smid lige et svar :)
Avatar billede nielle Nybegynder
15. januar 2008 - 22:00 #11
Prøv lige med denne her:

RewriteRule ^/postkort-kategori/(.+?)-(\d+)/  /postkort-kategori.asp?id=$2&navn=$1
Avatar billede tommyf Nybegynder
15. januar 2008 - 22:30 #12
Hvis jeg kopiere filerne ud i roden af serveren, så virker det sgu, med den sidste du kom med der :D
Avatar billede nielle Nybegynder
15. januar 2008 - 22:33 #13
Hvis de så helst ikke skal lgge i roden, så må det være noget i stil med:

RewriteRule ^/stdpostkort/postkort-kategori/(.+?)-(\d+)/  /stdpostkort/postkort-kategori.asp?id=$2&navn=$1
Avatar billede tommyf Nybegynder
15. januar 2008 - 23:32 #14
yes...

id = $2, fordi at den bliver behandlet i parantes nummer 2
navn = $1, fordi den bliver behandlet i første parantes

(.+?) = alt mellem postkort og spørgsmålstegn skal fjernes
(\d+) = der skal tilføjes... ja, noget

Det er ikke helt logisk i mit hovede endnu, men med din hjælp, har jeg noget at arbejde videre på. Så skal det nok lykkes :)
Avatar billede nielle Nybegynder
16. januar 2008 - 07:03 #15
\d står for "digit" - engelsk for ciffer
+ står for 1 eller flere
\d+ står derfor for et eller flere ciffre.

Det er "regulære udtryk" og bruges i mange andre sammenhænge. Jeg har skrevet et par artikler om emnet her på Eksperten. Den første af dem burde dække det du har brug for at vide i denne her sammenhæng:

http://www.eksperten.dk/artikler/1156
Avatar billede tommyf Nybegynder
16. januar 2008 - 13:03 #16
Mange tak - vi er hvis nået dertil, hvor du skal have point :)
Avatar billede nielle Nybegynder
16. januar 2008 - 13:09 #17
Svar :^)
Avatar billede tommyf Nybegynder
16. januar 2008 - 17:05 #18
Du er altså guld værd. Hvis du engang stikker af til et andet forum, så husk lige at give mig besked ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester