Mod_Rewrite en page including
Ik ben bezig om voor mezelf een standaard layout te maken voor gebruik bij nieuwe websites die ik ga maken. Deze wil ik natuurlijk netjes en uitgebreid hebben.
De pagina's wil ik opvragen in index.php met behulp van een get (?page= bijvoorbeeld). Ik gebruik mod_rewrite om index.php/page/home om te zetten naar ?page=home. mijn .htaccess ziet er als volgt uit: (eerder werkte ik nooit met mod_rewrite, alleen met passwd)
In het menu laat ik de linkjes automatisch aanmaken door een functie getMenu(). De link die op de pagina's komt te staan zien er als volgt uit:
Probleem 1:
En zodra ik een menu item aan klik floept de layout weg (de css denk ik) maar de pagina wordt wel ingeladen. Hoe kan ik dit weg krijgen?
Probleem 2:
Als ik voor de tweede keer op een link klik wordt de url:
index.php/page/home/page/home
Hoe kan ik dit voorkomen?
Bij voorbaat dank!
Gewijzigd op 17/02/2012 14:18:53 door Aapje yeah
Als goed is moet die werken.
Het kan ook zijn dat het komt doordat je
hier zegt "(?page= bijvoorbeeld)"
en in je .htaccess hebt staan, index.php?p= dit moet dan index.php?page= zijn lijkt mij.
Voor je tweede probleem kun je eventjes, <base href="JEwebsite"/>
in de head van je html zet. Dan gaat dit goed, dit lost waarschijnlijk ook meteen je 1e probleem op.
Gewijzigd op 17/02/2012 15:38:34 door Bas van de Steeg
Bas van de Steeg op 17/02/2012 15:37:28:
Haha, het klopt inderdaad dat ik dat typte, maar dat was een type fout van mij.
Bas van de Steeg op 17/02/2012 15:37:28:
Voor je tweede probleem kun je eventjes, <base href="JEwebsite"/>
in de head van je html zet. Dan gaat dit goed, dit lost waarschijnlijk ook meteen je 1e probleem op.
in de head van je html zet. Dan gaat dit goed, dit lost waarschijnlijk ook meteen je 1e probleem op.
wanneer ik dit naar http://localhost/cms, http://localhost/cms/ oid zet wordt de url http://localhost/page/home
dus nog neit opgelost
Maar dat je dan naar http://localhost/page/home Gaat komt denk ik omdat dat door .htacces komt dus probeer de code is zo :
Als ik jouwn rewrite rule gebruik komt er inderdaad de juiste url te staan, maar nu denkt de browser dat hij dat pad ook moet hebben en krijg ik een 404.
de url nu wanneer ik op een link klik: http://localhost/cms/page/home
En anders zul je toch eventjes moeten wachten op andere forum gebruikers. Maar ik zal er eventjes op googelen en het zelf testen.
Nops werkt niet, toch bedankt voor je hulp. Ik heb al op google gezocht maar kon niet dezelfde fout vinden.. ik snap ook niet waarom dit bij mij gebeurt bij alle websites de heletijd :P maar ik wacht wel op andere reacties
Zou je misschien eventjes precies kunnen aangeven hoe je je mappen in elkaar hebt zitten want dan zal ik eventjes op mijn localhost even wat maken.
Quote:
root(cms):
index.php
.htaccess
Quote:
admin
adminPagina.php
adminPagina.php
Quote:
inc
config.php
style.css
jquery.js
main.js
config.php
style.css
jquery.js
main.js
Quote:
loggedin
loginHome.php
loginHome.php
Quote:
nologin
home.php
home.php
index.php
.htaccess
Toevoeging op 18/02/2012 00:18:55:
Niemand die nu denkt van.. jaaaa dat is het!??
Gewijzigd op 17/02/2012 16:46:20 door Aapje yeah
Ik heb het gefixed.
Het probleem wat ik had lag allemaal aan submappen.
Ik gebruikte een lokale server (XAMPP) die de url had: localhost/cms. Dit maakte veel fouten, hoe dit op te lossen is op deze manier weet ik niet.
Ik heb virtual hosts aangemaakt met de httpd-vhosts.conf en in de etc/drivers/hosts file van windows heb ik een linkje bijgeplaatst dat domein.tim naar 127.0.0.1 gaat.
Bedankt!