.htaccess, clean url's en fysieke pagina's

Status
Niet open voor verdere reacties.

blackeagle67

Gebruiker
Lid geworden
13 okt 2009
Berichten
158
Beste helpmij's,

Ik heb een vraag voor jullie en heb geen idee of dit mogelijk is met htaccess.
Momenteel ben ik voor school bezig een applicatie te bouwen voor een echte klant.
Deze applicatie laad dynamisch pagina's uit de database.
Dit doe ik momenteel met de htaccess code:

Code:
Options +FollowSymLinks
RewriteEngine on
RewriteBase /vecomponents/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ index.php?system_title=$1 [L,QSA]

Nu zou ik graag dat als bijv. /products/ (er zijn meerdere situaties zoals contact e.d.) word aangeroepen de fysieke pagina products.php word aangeroepen.
De system_title staat hiervoor in de database maar is niet aan te passen via het CMS.

Is dit met alleen htaccess te doen of moet ik gewoon zeggen dat als $_GET["system_title"] == "products" --> products.php includen?

Ik hoop dat jullie iets weten.
Bij voorbaat dank.
 
Ik zie an sich geen reden dat het niet kan met mod_rewrite, maar je kunt misschien een voorbeeld URL en het eindresultaat posten, dan is er wat makkelijker iets van te zeggen
 
Voorbeeld URL: http://localhost/vecomponents/products/

Resultaat:
sampleqy.jpg


Maar de content die hier geladen is komt uit de database en alles staat in de index.php
Ik wil nu dus eigenlijk dat als dus de url /products/ bevat juist de products.php bestand word aangeroepen ipv een query uitvoeren in de index.php
 
Eerst een rewrite doen op "/vecomponents/products/". Daar de URL daarna geen /vecomponents meer bevat zal de volgende regel niet nog een rewrite doen.

Je moet je rewrites dus van specifiek naar generiek rangschikken.
 
Zou je mij een voorbeeld kunnen geven? Ik begrijp momenteel niet helemaal wat je bedoelt.
 
mod rewrite voert de rewrites uit op volgorde:
Code:
rewritecond /products$
RewriteRule ^(.*)/?$ product.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ index.php?system_title=$1 [L,QSA]
Ik doe de nieuwe twee regels even uit het hoofd, dus kan spelfouten e.d. bevatten. Als dit correct wordt uitgevoerd, zou products worden omgeschreven naar products.php en alles zonder /products wordt omgeschreven naar index.php
 
Kunt beter ook leren hoe je een framework moet maken.
Want dan snap je ook beter wat en waarom een uitgewerkt framework doet.

En een eigen klein framework bouwen heeft ook voor jezelf in de toekomst voordelen.
 
Bedankt voor de informatie. Ik zou dolgraag in een MVC werken om wat meer ervaring op te doen. Ik heb net een MBO ICT applicatieontwikkelaar/systeembeheerder te Zwolle opleiding achter de rug en zit nu op het HBO Informatica. Nu zijn alleen mijn projectleden ook nog eerste jaars en die hebben nog geen weet van MVC (heb met eindproject in CakePHP gewerkt) dus vandaar. Maar nu leer ik idd het fijne van een MVC hoewel controllers, models en views nog niet overeenkomen met de pagina's.

Ik zal nu meteen even je code testen. kijken of het werkt. Bedankt!
 
mijn rewritecond moet natuurlijk wel een condition bevatten:

RewriteCond %{REQUEST_URI} /products$
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan