CSS relatief correct inladen

Status
Niet open voor verdere reacties.

grumbkow

Gebruiker
Lid geworden
20 aug 2007
Berichten
924
Hallo!,

Ik ben weer eens bezig met een project.
En ik loop weer tegen een probleem aan waar ik eigenlijk altijd tegen aanloop, maar ben nooit in staat geweest het netjes op te lossen.

Het is namelijk als volgt.

Ik heb op mijn domein een /support/ map staan.
Hierin komt een soort ticket systeem verder niet echt van toepassing.

In de index.php heb ik gewoon een stylesheet ingeladen via de normale weg.
Code:
<link href="css/style.css" rel="stylesheet" type="text/css" media="all" />

Nu maak ik gebruik van een .htaccess bestand om de URL opbouw netter te maken.
Ik zal 1 link als voorbeeld nemen.
Ik heb een onderdeel klanten en hierin zit een hyperlink overzicht, als hier op geklikt wordt gaat de browser naar <DOMEIN>/support/klanten/overzicht.
In de .htaccess wordt dit voor de server omgezet naar
index.php?page='klanten'&cmd='overzicht'

Nu dacht ik hij blijft in werkelijkheid op de index.php dus blijft de stylesheet werken maar omdat de browser naar /support/klanten/overzicht gaat klopt de css referentie niet meer.

Is er een manier om te zorgen dat deze altijd werkt ZONDER hem aan te roepen via de http://


Bij voorbaat dank =)

Groeten,
Jeffrey!
 
Je kan dit ook gebruiken, absolute css verwijzingen:

Code:
<link href="/css/style.css" rel="stylesheet" type="text/css" media="all" />

Dan begint hij in de root te zoeken, bv van www.domein.nl/css/style.css, ipv www.domein.nl/map1rewrite/map2rewrite/css/style.css :)


Je moet dan zelf wel even de url aanpassen, volgens mij word het voor jou dan /support/css/style.css :)


Dat werkt, maar dan krijg ik wel met wat andere hyperlinks etc wat problemen.
Ik snap nooit zo goed wanneer ik css/style.css /css/style.css of ../css/style.css moet gebruiken eveneens als images en images in de css bestanden etc.

Scripts uit de map scripts worden ook niet correct ingeladen vanaf die /klanten/overzicht locatie etc.
Is er toevallig iemand die me wat uitleg kan geven over relatieve/absolute verwijzingen waardoor ik deze problemen in de toekomst kan voorkomen?

Beetje jammer van mezelf!
 
Laatst bewerkt:
Wat snap je eigenlijk niet precies dan?

Ik gebruik meestal /css/styles.css voor een website die dynamisch is opgebouwd, dus inderdaad met rewrite rules of hele ingewikkelde structuren.

../css/styles.css gaat een mapje omhoog. Dus stel je voor, dit is je map structuur

/
/index.php
/includes
/css
/css/styles.css
/images
/images/plaatje.jpg

Stel je voor je zit in de map includes en je wilt naar de map css, dan moet je ../css/ gebruiken (.. = map omhoog). Datzelfde geld voor images in het css bestand. Het css bestand staat in /root/css en de images in /root/images. In het css bestand kun je naar de images linken door ../images/plaatje.jpg te doen.

En css/styles.css gebruik je als je vanuit de root (bv index.php) naar je css map wilt.

Dus, kort:
css/styles.css -> Onderliggende map betreden
../css/styles.css -> Map terug en van daaruit de map css betreden
/css/styles.css -> Onafhankelijk van in welke map je zit, gaat hij beginnen in je root, dus eigenlijk vanaf www.domein.nl/ en dan verder.
 
Laatst bewerkt:
Wat snap je eigenlijk niet precies dan?

Ik gebruik meestal /css/styles.css voor een website die dynamisch is opgebouwd, dus inderdaad met rewrite rules of hele ingewikkelde structuren.

../css/styles.css gaat een mapje omhoog. Dus stel je voor, dit is je map structuur

/
/index.php
/includes
/css
/css/styles.css
/images
/images/plaatje.jpg

Stel je voor je zit in de map includes en je wilt naar de map css, dan moet je ../css/ gebruiken (.. = map omhoog). Datzelfde geld voor images in het css bestand. Het css bestand staat in /root/css en de images in /root/images. In het css bestand kun je naar de images linken door ../images/plaatje.jpg te doen.

En css/styles.css gebruik je als je vanuit de root (bv index.php) naar je css map wilt.

Dus, kort:
css/styles.css -> Onderliggende map betreden
../css/styles.css -> Map terug en van daaruit de map css betreden
/css/styles.css -> Onafhankelijk van in welke map je zit, gaat hij beginnen in je root, dus eigenlijk vanaf www.domein.nl/ en dan verder.


Dan begrijp ik het in principe wel, kom er nu achter dat het komt omdat ik op mijn localhost werk en daar een andere mapstructuur heb.

Ik heb http://localhost/PROJECTEN/SUPPORT PROJECT/support/css of /scripts
Wil ik dit correct aanroepen dan moet op de localhost de verwijzing zijn: /PROJECTEN/SUPPORT PROJECT/support/css, want hij ziet de localhost als root.

Zodra ik hem ga uploaden moet ik dus overal /PROJECTEN/SUPPORT PROJECT voor weg halen en weer terugzetten als ik lokaal verder wil ontwikkelen.

ontzettend vervelend.
 
Ik ben bang van wel ja. Daar zou ik je verder niet mee kunnen helpen. Vaak test/ontwikkel ik het zelf al op de server zelf, maar dan in een aparte testmap. Dan weet ik tenminste zeker dat ik geen verschil qua instellingen van de server heb.

Maar dat is de keuze aan ieder zelf :) Op dit moment ben ik vooral bezig in ASP.NET en dan moet je haast wel online op de server doen, ipv je eigen pc, vandaar mijn voorkeur.
 
Ik ben bang van wel ja. Daar zou ik je verder niet mee kunnen helpen. Vaak test/ontwikkel ik het zelf al op de server zelf, maar dan in een aparte testmap. Dan weet ik tenminste zeker dat ik geen verschil qua instellingen van de server heb.

Maar dat is de keuze aan ieder zelf :) Op dit moment ben ik vooral bezig in ASP.NET en dan moet je haast wel online op de server doen, ipv je eigen pc, vandaar mijn voorkeur.

Vind het vooral vervelend dat je elke keer moet uploaden, ik druk elke 5 seconden wel een keer op f5 om snel te zien wat de code doet enzo, ga mn dreamweaver maar eens aan mn ftp koppelen bedankt voor de hulp
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan