SEO friendly urls
Kortom, de structuur is bijvoorbeeld:
index.php/optie/waarde1/
Weten dat dit kan is mooi, maar het niet voor elkaar krijgen is minder.
Want als ik dit zo doe, dan wordt mijn pagina wel geladen maar alle externe elementen die via de SRC worden toegewezen, te denken aan Javascript of Images worden dan niet geladen.
Dat zal logisch zijn, ik verwacht dat de server hier zich mee bemoeit.
Kortom, ik heb het nu zo opgelost:
ik plaats in de Headers de BASE element en dan verwijzen alle SRC definities vanaf de Url die in de BASE staat vermeld.
Maar ik ben iemand die niet zo houd van Http:// verwijzingen in alle Src elementen omdat ik dit zie als onnodig gebruik maken van http verbindingen.
Het zal ook wel weer niet zo ramp zijn, verwacht dat een server zich niet laat overbelasten omdat die mogelijk per IP een max aantal child threads toekent.
Maar het zint me niet, kortom wie weet er iets meer over om te zeggen dat dit lukt:
index.php/voorbeeld/demo
zonder dat ik mod rewrite geneuzel hoef te gebruiken en zonder dat ik de BASE element hoef te gebruiken in de headers.
Gewijzigd op 01/01/1970 01:00:00 door Danny Roelofs
Danny Roelofs schreef op 20.05.2008 23:24:
Maar ik ben iemand die niet zo houd van Http:// verwijzingen in alle Src elementen omdat ik dit zie als onnodig gebruik maken van http verbindingen.
Zodra je geen volledige URL opgeeft in een src (of href) attribuut, zal de browser het zelf aanvullen. Internet Explorer's attribute[] implementatie in Javascript laat dit (helaas :P) heel mooi zien.
Hoe dan ook zal ieder bestand over een HTTP verbinding moeten worden binnengehaald. De browser weet zelf hoe hij dat gaat doen. HTTP/1.1 ondersteund meerdere requests per verbinding, en de meeste browsers hanteren een limiet van 4 tot 10 verbindingen per domein (let op: dus ook per subdomein) om tegelijkertijd meerdere dingen binnen te halen.
In plaats van:
../images/background.gif
/images/background.gif
<link href="/StyleSheet.css" rel="StyleSheet" type="text/css" />
of
body { background: url('/images/background.gif'); }
Met een / als begin verwijs je terug naar de root en kan je verder gewoon relatief blijven linken zonder de http:// etc. Met SEO url's denkt je browser namelijk dat hij genest zit in de map die in je url staat. Als jij dus linkt naar ../images, terwijl je genest zit in een x-aantal maps dan zoekt hij in een niet bestaande map. Door eerst met '/' terug te gaan naar de root kan je vanuit daar alles correct linken naar de juiste map.