index.php?page= en .htaccess
Ik heb gemaakt dat index.php?page=home word weergeven als www.domein.nl/home/
Nu heb ik een admin gedeelte waarin ik pagina's kan editen enzo.
Nu wil ik dat index.php?page=admin&actie=wijzigen&paginaid=1 weergeven word als www.domein.nl/admin/wijzigen/1
Wie kan mij helpen?
Toevoeging op 17/03/2011 12:16:41:
Niemand een idee? of hebben jullie meer gegevens nodig?
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^home/?$ index.php?page=home [L]
RewriteRule ^contact/?$ index.php?page=contact [L]
RewriteRule ^admin/([^/]+)/([^/]+)/?$ index.php?page=admin&actie=$1&paginaid=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^home/?$ index.php?page=home [L]
RewriteRule ^contact/?$ index.php?page=contact [L]
RewriteRule ^admin/([^/]+)/([^/]+)/?$ index.php?page=admin&actie=$1&paginaid=$2 [L]
url opvraag : www.domein.nl/home/ gaat naar index.php?page=home
url opvraag : www.domein.nl/contact/ gaat naar index.php?page=contact
url opvraag : www.domein.nl/admin/wijzigen/1/ gaat naar index.php?page=admin&actie=wijzigen&paginaid=1
Moet ik dan elke pagina toevoegen?
en de urls moet je wel goed maken dat ze wel overeen komen met de .htaccess file zo als mijn voorbeeld
Gewijzigd op 20/03/2011 12:26:21 door Robert dat ben ik
http://netters.nl/artikelen/server-en-hosting/url-maken-met-mod_rewrite/ ook eens even kijken om dat te doen in php wat makkelijker is
ja, maar volgens mij kun je hier Gewijzigd op 20/03/2011 12:29:49 door Rick -
alleen je moet voor elke pagina die je maakt een RewriteRule maken
Edit:
dus als je een member systeem heb moet je daar ook weer een RewriteRule maken geld het zelfde als je gastenboek forum enz enz gebruikt
Gewijzigd op 20/03/2011 12:28:59 door Robert dat ben ik
http://netters.nl/artikelen/server-en-hosting/url-maken-met-mod_rewrite/ ook eens even kijken om dat te doen in php wat makkelijker is
maar volgens mij kun je hier zeker als je dynamische paginas heb.
Hoe maak ik daar www.domein.nl/tweak/1/ van?
Gewijzigd op 20/03/2011 12:45:27 door Robert dat ben ik
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
RewriteBase /
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/ index.php?page=$1 [NC]
RewriteRule ^tweak/([^/]+)/?$ index.php?page=tweak&id=$1 [L]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/ index.php?page=$1 [NC]
RewriteRule ^tweak/([^/]+)/?$ index.php?page=tweak&id=$1 [L]
Alleen het werkt niet ?
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^home/?$ index.php?page=home [L]
RewriteRule ^contact/?$ index.php?page=contact [L]
RewriteRule ^tweak/([^/]+)/?$ index.php?page=tweak&paginaid=$1 [L]
RewriteRule ^admin/([^/]+)/([^/]+)/?$ index.php?page=admin&actie=$1&paginaid=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^home/?$ index.php?page=home [L]
RewriteRule ^contact/?$ index.php?page=contact [L]
RewriteRule ^tweak/([^/]+)/?$ index.php?page=tweak&paginaid=$1 [L]
RewriteRule ^admin/([^/]+)/([^/]+)/?$ index.php?page=admin&actie=$1&paginaid=$2 [L]
url opvraag : www.domein.nl/home/ gaat naar index.php?page=home
url opvraag : www.domein.nl/contact/ gaat naar index.php?page=contact
url opvraag : www.domein.nl/tweak/1/ gaat naar index.php?page=tweak&paginaid=1
url opvraag : www.domein.nl/admin/wijzigen/1/ gaat naar index.php?page=admin&actie=wijzigen&paginaid=1
Gewijzigd op 20/03/2011 12:52:41 door Robert dat ben ik
@Jorg, de HTACCESS die jij wilt moet zoiets zijn:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
RewriteEngine On
RewriteBase /
RewriteRule ^(.*?)/(.*?)/(.*?)/$ index.php?page=$1&action=$2&paginaid=$3
RewriteRule ^(.*?)/(.*?)/$ index.php?page=$1&paginaid=$2
RewriteRule ^(.*?)/$ index.php?page=$1
RewriteBase /
RewriteRule ^(.*?)/(.*?)/(.*?)/$ index.php?page=$1&action=$2&paginaid=$3
RewriteRule ^(.*?)/(.*?)/$ index.php?page=$1&paginaid=$2
RewriteRule ^(.*?)/$ index.php?page=$1
Een goede tutorial hierover is Mod Rewrite op PHPTUTS.
Gewijzigd op 20/03/2011 14:18:20 door Wouter J
Toevoeging op 20/03/2011 14:32:18:
@ Wourer J, Jammer, doet het ook niet.
Kijk maar even naar deze link: http://www.mactweaks.nl/index.php?page=tweak&id=1
En dan deze link: http://www.mactweaks.nl/tweak/1/
Gewijzigd op 20/03/2011 14:33:02 door Jorg Heesbeen
Verder is het voor de style handig als je de url volledig vanuit de root uitschrijft of gaat werken met
Ik heb nu:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
RewriteBase /
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)/(.*?)/$ index.php?page=$1&id=$2
RewriteRule ^(.*?)/$ index.php?page=$1
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)/(.*?)/$ index.php?page=$1&id=$2
RewriteRule ^(.*?)/$ index.php?page=$1
Als je naar http://www.mactweaks.nl/index.php?page=tweak&id=1 gaat zie je de pagina.
Ga je naar http://www.mactweaks.nl/tweak/1/ zie je de homepage ??
Zet sowieso [L] achter elke RewriteRule, dat betekent dat als de RewriteRule 'past' dat de onderstaande RewriteRules niet meer van toepassing zijn. Nu worden namelijk beide RewriteRules toegepast.
Het werkt, maar nog niet helemaal...
mijn .htaccess is nu:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
RewriteBase /
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)/(.*?)/$ index.php?page=$1&id=$2 [L]
RewriteRule ^(.*?)/(.*?)/$ index.php?page=$1&actie=$2 [L]
RewriteRule ^(.*?)/$ index.php?page=$1 [L]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)/(.*?)/$ index.php?page=$1&id=$2 [L]
RewriteRule ^(.*?)/(.*?)/$ index.php?page=$1&actie=$2 [L]
RewriteRule ^(.*?)/$ index.php?page=$1 [L]
Als ik nu naar http://www.mactweaks.nl/tweak/1/ ga doet hij het :)
Als je naar http://www.mactweaks.nl/test/hallo/ ( http://www.mactweaks.nl/index.php?page=test&actie=hallo ) ga doet hij het niet?
Als ik in mijn .htaccess de 2 zinnen
RewriteRule ^(.*?)/(.*?)/$ index.php?page=$1&id=$2 [L]
RewriteRule ^(.*?)/(.*?)/$ index.php?page=$1&actie=$2 [L]
omdraai qua plaats dan doet http://www.mactweaks.nl/tweak/1/ het niet en http://www.mactweaks.nl/test/hallo/ doet het wel...
Iemand een idee wat ik verkeerd doe?
Gewijzigd op 20/03/2011 18:52:26 door Jorg Heesbeen