login  Naam:   Wachtwoord: 
Registreer je!
 Forum

.htaccess mod_rewrite (Opgelost)

Offline Jelmerholland - 01/02/2010 20:48
Avatar van JelmerhollandPHP beginner @mod, kweet niet waar dit topic moet. Als 't nodig mocht zijn, verplaatsen. aub. 


code van .htaccess:
.htaccess schreef:
RewriteEngine On
Rewriterule ^index/(.*)/(.*)/(.*)/ index.php?p=$1&id=$2&item=$3
Rewriterule ^index/(.*)/(.*)/(.*) index.php?p=$1&id=$2&item=$3
RewriteRule ^index/(.*)/(.*)/ index.php?p=$1&id=$2
RewriteRule ^index/(.*)/(.*) index.php?p=$1&id=$2
RewriteRule ^index/(.*)/ index.php?p=$1
RewriteRule ^index/(.*) index.php?p=$1


ik heb een url:
http://www.jdwebdesign.nl/index.php?p=contact
deze zet ie om naar:
http://www.jdwebdesign.nl/index/contact/

Hoe kan ik die index weghalen?
dus dat dit de output wordt?
http://www.jdwebdesign.nl/contact/

Geen idee hoe ik dit voor elkaar kan spelen, ik heb het ^index/ al weggelaten en de '^' vóór de eerste (.*) gezet, maar daarmee haal ik de index niet weg. Enig idee hoe ik daar vanaf kom?

8 antwoorden

Gesponsorde links
Offline lemoinet - 01/02/2010 20:51 (laatste wijziging 01/02/2010 20:52)
Avatar van lemoinet PHP gevorderde laat maar
Offline Jelmerholland - 01/02/2010 20:56
Avatar van Jelmerholland PHP beginner Toch niet..? Jammer 
Weet je 100% zeker dat jou manier niet werkt? Of twijfel je? Anders gewoon posten aub, dan geef ik 't een poging 
Offline Giant - 01/02/2010 23:11
Avatar van Giant PHP beginner dus als je index/ er voor weglaat blijft index/ er wel voor staan in de url?

Dan moet je eens even je linkjes na lopen! De .htaccess code die je daar toont doet niks anders dan omzetten van de URL, serverside...
Offline Jelmerholland - 02/02/2010 08:16
Avatar van Jelmerholland PHP beginner Ja maar hij maakt van
www.site.nl/index.php?p=pag1
Maakt ie
www.site.nl/index/pag1

snapje wat ik bedoel?
En als ik in de .htaccess file de ^index weglaat en daar meteen ^(.*) van maak, dan doet ie dat nog steeds, en ik weet dus niet hoe ik dit kan oplossen. Ik wil dus de ''folder' index weglaten in de url, de virtuele folder. Snapje?
Offline TotempaaltJ - 02/02/2010 10:12
Avatar van TotempaaltJ PHP interesse
  1. RewriteEngine On
  2. RewriteRule ^(.*)/(.*)/(.*)/ index.php?p=$1&id=$2&item=$3
  3. RewriteRule ^(.*)/(.*)/(.*) index.php?p=$1&id=$2&item=$3
  4. RewriteRule ^(.*)/(.*)/ index.php?p=$1&id=$2
  5. RewriteRule ^(.*)/(.*) index.php?p=$1&id=$2
  6. RewriteRule ^(.*)/ index.php?p=$1
  7. RewriteRule ^(.*) index.php?p=$1

Dat werkt dus niet? Zeker weten? Al eens naar [url]http://www.jdwebdesign.nl/contact/[/url] gegaan?
Overigens, mod_rewrite verandert index.php?p=pag1 niet in index/pag1 maar index/pag1 in index.php?p=pag1 (maar dan achter de schermen)
Offline Jelmerholland - 02/02/2010 19:12 (laatste wijziging 02/02/2010 22:02)
Avatar van Jelmerholland PHP beginner Ja ok, verkeerd om opgeschreven,

maar idd. als ik die code van jou gebruikt, dan doet ie 't niet :S

ANTWOORD GEVONDEN OP PHPFREAKZ.NL
(Na aanleiding van mijn vraag)
http://www.phpf...#id1291575

"enig idee hoe ik die 'virtuele' folder /index weg krijg?"

Dat deel /index moet je zelf weghalen uit de anchors. Je links moeten er zo uitzien:
<a href="/contact/">contact</a>

Het .htaccess-deel ziet er zo uit:

<IfModule mod_rewrite.c>
RewriteEngine On

# bestaande bestanden niet herschrijven
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]

Rewriterule ^([^/]+)/([^/]+)/([^/]+)/? index.php?p=$1&id=$2&item=$3 [L]
RewriteRule ^([^/]+)/([^/]+)/? index.php?p=$1&id=$2 [L]
RewriteRule ^([^/]+)/? index.php?p=$1 [L]
</IfModule>
Offline TotempaaltJ - 02/02/2010 22:39
Avatar van TotempaaltJ PHP interesse Dat was dus ongeveer wat ik zei Maar dan ietsje minder uitgebreid 
TotempaaltJ schreef:
Overigens, mod_rewrite verandert index.php?p=pag1 niet in index/pag1 maar index/pag1 in index.php?p=pag1
Offline Jelmerholland - 02/02/2010 23:08 (laatste wijziging 02/02/2010 23:08)
Avatar van Jelmerholland PHP beginner Maar zij hebben met [^/]+ en met ?... en met een if en met [L], ik snap nog niet wat het doet. Ga ik uitzoeken. Maar het werkt, daar gaat 't om 

Nou nog een dubbele GET zodat je bijv www.jdwebdesign.nl/index.php?p=contact&id=sendmail
Maar ben er nog niet achter hoe je zoiets kan krijgen. Snap de get functie nog niet volledig.


En TotmepaaltJ, zoals ik al zij: 'Ja ok, verkeerd om opgeschreven,'
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.177s