Kære gæst, velkommen til Tweak.dk. Hvis dette er dit første besøg her, bør du læse Hjælp. Her forklares i detaljer hvordan denne side fungerer. For at benytte alle funktionerne på denne side, bør du overveje at lade dig registrere. Benyt venligst registreringsformularen for at registrere her eller læs yderligere information om registreringsprocessen. Hvis du allerede er registreret, så log på her.

1

søndag, 19. februar 2012, 11:08


Hej Tweak.

Jeg er gået i gang med at rode lidt med lidt php scripting igen :)

I den sammenhæng har jeg støt på et mindre problem med min .htaccess

Kildekode

1
2
3
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)/$ $1.php [NC,L]


Sådan ser den ud lige nu, og fungerer sådan så jeg kan lave domæne.dk/side/ også pejer den blot på domæne.dk/side.php

Jeg ønsker dog at gå skridtet videre så jeg undgår at skulle lave en domæne.dk/side/?query=string.

Har forsøgt mig med utallige guides, men det er svært når man ikke ved hvad man skal søge under.
Mit mål er at kunne skrive f.eks. domæne.dk/side/124/ også vil den pege på side.php men ignorerer /124/ i adressen, hvor jeg dertil kan bruge php med explode("/", $_SERVER['PHP_SELF']); også pille den data ud jeg skal bruge, og dermed bruge min "id" i den array som explode laver.

Men hvordan får jeg den til at ignorerer alt hvad der kommer efter domæne.dk/side/ - hvis det overhovedet er muligt..

I må hjertens gerne fortælle mig hvad funktionen jeg skal lede efter, så kan jeg selv google mig frem til resultatet, aner simpelthen bare ikke hvad det hedder :)

På forhånd mange tak


2

mandag, 20. februar 2012, 20:40


Halløjsa.

Jeg havde det samme problem. Min gamle lærer skrev dette til mig:

Citeret


Jeg har ikke så meget erfaring med modRewrite, men det er jo baseret på regulære udtryk, så mon ikke det er noget i retning af:

Kildekode

1
RewriteRule ^([^/\.]+)(/[^/\.]+)?/?$ index.php?page=$1&nid=$2 [L]


Bemærk at $1 (dollar-et) og $2 (i replace-delen) referer til parenteserne i search (pattern'et) hvor den første parentes er ([^/\.]+) altså = $1 og parentes 2 er (/[^/\.]+)? = $2. I $2 startes med et / og hele parentesen er optional (kan være tilstede 0 eller en gang) fordi der står er spørgsmålstegen (?) bagved. Og hvad er det så der er inden i? Det er en tegnklasse som er negeret, dvs alle de tegn som ikke er / eller . (punktum skal escapes, derfor \.), en eller flere gange, fordi der er plus (+) bag ved.


EDIT: Kan ikke huske om jeg nogensinde fik det til at virke.


3

lørdag, 25. februar 2012, 06:47


Kunne det bruges? :)


4

lørdag, 25. februar 2012, 09:04


ikke rigtigt fordi den du har givet, kræver at jeg manuelt skal skrive hver gang jeg ønsker at lave en query som "mappe" format :)

har ikke haft så meget tid til at lege med det endnu :)


Seneste tests og artikler

0

Corsair Graphite 780T Full Tower

Tweak.dk tager i dag et kig på
Læs Mere

0

CM Storm Resonar In-ear Gaming Headset

Hvis du tilbringer megen af di
Læs Mere

1

Xtrfy XG1-R LED mekanisk gamer tastatur

Det kan være svært for produce
Læs Mere

3

Sapphire Radeon R9 290 Tri-X 4 GB

Vi skal i dag se lidt på et Ra
Læs Mere
Seneste nyheder

0

Chivalry annonceret til Playstation 3 og Xbox 360

Torn Banner Studios har netop
Læs Mere

0

Final Fantasy XIII måske på vej til PC

Square Enix har netop tilføjet
Læs Mere

0

ASUS STRIX GeForce GTX 970 billeder

Grafikkortet er monteret med d
Læs Mere

0

MSI GeForce GTX 970 Gaming billeder

Mens vi venter på at NVIDIA fo
Læs Mere
Nyeste Videoer og Trailers

Indsend nyhed
Har du fundet en fed nyhed så indsend den så alle andre på Tweak.dk kan få glæde af den.