Avatar billede julemandenb Nybegynder
23. januar 2011 - 10:53 Der er 1 kommentar og
1 løsning

htaccess - RewriteRule kan ikke genkende punktum

Hej eksperten.

Jeg er igang med et spil ( Virtuel Computer Hacking )
Her skal man kunne hacke andre Virtuelle computere, mit problem lige nu er bare at jeg benytter mig at RewriteRule for at få lidt mere sikkerhed på siden...

En typisk adresse på mit projekt vil være.
minside.dk/internet/273.46.163

Her kommer problemet. nemlig at min rewriterule ikke kan genkende punktum. :s

I min htaccess fil ser linjen således ud..

RewriteRule ^internet/([A-Za-z0-9_-]+)$ fil/userdata/usernet.php?userip=$1 [NC]

Nærmere sagt er det denne her ([A-Za-z0-9_-]+) det er problemet.
Jeg har søgt på eksperten og har fundet nogle som kun indholder speciel tegn dog ikke det jeg leder efter.

Denne her skal både kunne læse, tal, bogstaver samt specieltegn, inklusiv punktum. Hvis det er muligt.


M.v.h
Mikkel Bering
Avatar billede BufferUnderrun Nybegynder
23. januar 2011 - 11:18 #1
Du skal bare escape punktum med backslash: \.

Det lader dog til at skabe nogle problemer hvis du indsætter punktum direkte i din range [], så jeg har lavet denne version, som virker med dit eksempel:

([A-Za-z0-9_-]|\.)+

Din streng kommer altså til at se sådan ud:

RewriteRule ^internet/(([A-Za-z0-9_-]|\.)+)$ fil/userdata/usernet.php?userip=$1 [NC]

Jeg har også lavet et lille værktøj som måske kan hjælpe dig med at teste: http://ole.michelsen.dk/tools/regex.html
Avatar billede julemandenb Nybegynder
23. januar 2011 - 11:23 #2
Årh kanont, Det virker. Takker :)
Og tak for dit værktøj det vil jeg helt klart tage i brug :)
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