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
Waarom doet met dit altijd? Hiermee "reserveer" je effectief $_GET['url'] en prop je het opgeroepen pad hierin.
Waarom niet gewoon:
RewriteRule . index.php [L,QSA]
Vervolgens zit alle informatie (zowel pad als $_GET) in $_SERVER['REQUEST_URI'].
En laat daar nou een functie zijn die alles in 1x uitleest: parse_url(). Voor de querystring variabelen kun je nog altijd $_GET gebruiken natuurlijk.
Alles (eerst) in $_GET['url'] proppen is gekunsteld en onnodig. Je vervuilt hiermee in zekere zin $_GET.
Je kan ook een <base> opnemen in je <head> om dit op te lossen.
Althans, ik denk dat je CSS het niet doet in je HTML.
Daar doel je toch op, met deze zin: ik wil me php document linken met css via html?
Je gooit een CSS-saus over je HTML. PHP heeft daar niets mee te maken.
Het is mijn of m'n framework of document, maar nooit me ...
[/offtopic]
?Onbekende gebruiker
03-09-2015 20:48
gewijzigd op 03-09-2015 20:54
Je kunt twee alternatieve benaderingen overwegen:
- de CSS gewoon in de HTML zetten. Dynamisch met data-uri's. Kost iets meer bandbreedte, scheelt een boel HTTP requests en maakt netto dat je site sneller laadt.
- de CSS links niet direct naar .css-bestanden laten verwijzen, maar naar hetzelfde index.php script. Met wat GET-parameters kan je het index.php script vertellen welk CSS-bestand je hebben moet, en het script kan de CSS dan met readfile() oid. sturen. Extra voordeel: je kunt via PHP nog wat spelen met HTTP headers, en CSS dynamisch laten genereren, bijvoorbeeld op basis van tijd (donkerder/lichter thema) of gebruikersvoorkeuren voor bepaalde kleuren (hoog contrast, kleurenblindheidsprofieltje, of domweg rood ipv blauw..)
[size=xsmall]Toevoeging op 03/09/2015 20:53:00:[/size]
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).
?Onbekende gebruiker
03-09-2015 21:35
Ben het wel met Thomas eens dat CSS files zo standaard zijn dat ze gewoon geserved moeten worden door de webserver. Maar waarom zou je CSS files en JavaScript files niet door het index.php script laten lopen?
De roots van PHP liggen in het preprocessen van (tekst)files zoals HTML. Waarom dan liever geen JS en CSS? Ik heb dat optioneel ingebouwd in m'n eigen raamwerkje, en ik vind het wel handig werken voor variabelen, cross browser code (of aanbieden van legacy code als iemand IE8 gebruikt), gebruikersvoorkeuren als locale-instellingen. Dan kan je die NLS-strings allemaal uit een database vissen ipv. dat je tig bestanden krijgt die je (handmatiger) moet onderhouden?
En ook maar een intern linkje waar iets soortgelijks voorbij kwam, anders krijg ik weer commentaar dat ik naar mijn eigen site link lol (ondank het feit dat het relevante informatie bevat; ik heb geen zin om hetzelfde verhaal 2x te typen)