hallo,
ik ben bezig met eigen framework voor me website
ik loop nu allee tegen het volgende op
ik wil me php document linken met css via html
maar .htaccess blockt het omdat alles wordt omzegt naar _GET
hoe zou ik dit probleem kunnen fixen?
dit is wat ik heb



Options -MultiViews

RewriteEngine On

Options -Indexes


RewriteCond %{REQUEST_FILENAME} !-d


RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ index.php?url=$1/ [QSA,L]

We zitten volgens mij op verschillende sporen, ik bedoel NIET dat je via een rewrite rule moet gaan afdwingen dat alle requests via een index.php moeten gaan! Dat beknot je vrijheid, en is niet nodig.
Onder het motto vrijheid+blijheid wil ik ook m'n index.php kunnen gebruiken om dynamische content anders dan HTML te kunnen genereren (JS, CSS, binaire files..) maar dat doe ik liever via functies die URL's voor me genereren die weer naar index.php wijzen. Dan kan ik in PHP ervoor kiezen om die functies te gebruiken of niet.
Is everybody happy?
Euh? Ik redirect niets naar index.php - alles wat geen los bestand of directory is komt op index.php uit. Dat is iets anders! Vervolgens is index.php je verkeersagent die je alle mogelijke kanten door kan sturen op grond van de ingevulde URL (REQUEST_URI), die je aldaar kunt ontleden.

Als jij het vervolgens leuk vindt om een javascript bestand te serveren als je /blaat/hai/hoipipeloi?secret=xyz als pad invoert dan heb je die vrijheid.

Veel flexibeler wordt het niet?

Het is overigens volgens mij een goede gewoonte om "one point of entry" te hebben in je applicatie. Dit is index.php. Alle URL's die "onbekend" zijn worden aan index.php gegeven als een soort van "gateway": "Hey ik heb hier een URL waar ik niks mee kan, weet jij wat ik hiermee moet doen?" Het uiteindelijke antwoord kan dan trouwens alsnog het serveren van een 404 pagina zijn, inclusief 404 HTTP-header.
Thomas van den Heuvel op 03/09/2015 21:29:08

[quote="Remco van der Velde op 03/09/2015 12:05:25"]Mijn suggestie is:

in je .htaccess indien een bestand bestaat deze gewoon laden en niet via je index laten lopen.


RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .* - [L]


Hier staat in feite (als ik mij niet vergis) "als het opgevraagde ding een bestand of een directory is, dan doe niets".

Ik denk dat je beter uitzonderingen kunt definiƫren, dus middels RewriteRules aangeeft wanneer er wel iets speciaals moet gebeuren. De bovenstaande regels zijn nogal loos als je het mij vraagt. Je geeft daar expliciet aan wanneer er niets hoeft te gebeuren :/.

An tje op 03/09/2015 20:48:33
Owhja, vergeten.. phphulp ondersteunt geen Unicode :-( (waarom eigenlijk niet?)

Voor dit soort (noodzakelijk) onderhoud is blijkbaar geen tijd/geld. Je moet begrijpen dat het budget zeer beperkt is. Dat gaat ook meestal meteen op aan belangrijkere zaken zoals het toevoegen van minuscule icoontjes aan de activiteitenfeed (die overigens ook nog steeds geen charset aanduiding heeft).
[/quote]

Klopt, im mijn eigen .htaccess doe ik dan bijvoorbeeld dit:

RewriteEngine On

#
# Don't rewrite if dir/link/file exists
#

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule .* - [L]

#
# Handle in route class...
#

RewriteCond %{HTTPS} off
RewriteRule .* - [E=REQUEST_SCHEME:http]

RewriteCond %{HTTPS} on
RewriteRule .* - [E=REQUEST_SCHEME:https]

RewriteRule ^/?(.*)$ /index.php?request=$1 [L,QSA]


@Remco: Mja, lees deze nog eens zou ik zeggen.
e moet begrijpen dat het budget zeer beperkt is. Dat gaat ook meestal meteen op aan belangrijkere zaken zoals het toevoegen van minuscule icoontjes

Logisch, ik vind icoontjes ook leuker dan Unicode support :) En strikt genomen is Unicode voor Nederlands ook niet nodig, al was het voor de 'ras'-echte "ij" wel leuk geweest.

Reageren