Avatar billede langkiller Nybegynder
06. november 2013 - 02:07 Der er 9 kommentarer og
1 løsning

stylesheet kan ikke findes ved slash bagpå url

jeg er stødt på et meget mærkelig ptoblem i forbindelse me et mvc pattern/framework i php.

I mine views (i mvc) kan jeg kun reffererer til mit css stylesheet hvis der ikke er nogle "/" bagpå min url.. også selvom jeg bruger "rtrim()":

$url = isset($_GET ['url']) ? $_GET['url'] : null;
$url = rtrim ( $url, '/');
$url = explode ( '/', $url );

Det er min header der tager sig af at hente min css fil ind:<!doctype html>
<html>
<head>
    <title>'.$title.'</title>
    <link rel="stylesheet" href="public/css/stylesheet.css">
</head>
<body>

<div id="header">header</div>
<div id="content">


Dette fungerer så længe url ikke har en "/" til sidst. Jeg så ud af at dette godt kunne lade sigøre hvis jeg tilføjede "../" foran min path, men dette betød så at min url nu SKULLE have "/" for enden for at finde mit stylesheet.. Er meget forvirret så håber virkelig at nogen kan hjælpe mig lidt her.

har et link til et billede af min mappestruktur her:
docs.google.com/file/d/0B2_2oeJkE3xAakR4NER1ZkJrZVk/

det er min header.php der henter styleheet, som ligger under "public/css"


På forhånd tak for hjælpen
Avatar billede repox Seniormester
06. november 2013 - 08:22 #1
Har du nogle mod_rewrite regler?
Avatar billede langkiller Nybegynder
06. november 2013 - 08:24 #2
mener du i min htaccess fil?
så har jeg disse:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
Avatar billede repox Seniormester
06. november 2013 - 08:50 #3
Prøv lige med dette i stedet

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?url=$1 [L] 
Avatar billede langkiller Nybegynder
06. november 2013 - 09:20 #4
Det virkede desværre ikke.. nu kan den hverken finde css filen med eller uden / til sidst i url'en
Avatar billede langkiller Nybegynder
06. november 2013 - 10:25 #5
Er det nemmere hvis jeg sender di min kode ? Den er ikke særlig omfattende eller inviklet.. det kunne jo være det var  nemmere at få øje på fejlen hvis du kiggede direkte deri?
Avatar billede repox Seniormester
06. november 2013 - 10:43 #6
Det burde ikke være nedvøndigt.
Lad os lige sikre os at det ikke er mod_rewrite - prøv at fjerne rewrite reglerne og se om du har det samme resultat.
Avatar billede langkiller Nybegynder
06. november 2013 - 11:28 #7
Hvis jeg fjerner mine rewrite regler, kan jeg slet ikke komme ind på nogle af mine sider.. får bare en Object not found! side i browseren.
har aldrig haft en mod_rewrite i min .htaccess
Avatar billede langkiller Nybegynder
06. november 2013 - 12:45 #8
Har fundet ud af det nu..
Jeg lavede min egen constant med
define('URL', 'http://localhost/... blah bla');

Den brugte jeg så foran min path i min header sådan her:
<link rel="stylesheet" href="<?php echo URL ?>public/css/stylesheet.css" />


Men tak for din hjælp repox, du kan smide et svar hvis du er interesseret i points
Avatar billede repox Seniormester
06. november 2013 - 18:12 #9
Du kunne også nøjes med at skrive / i stedet for.

<link rel="stylesheet" href="/public/css/stylesheet.css" />

Det er pænere og gør det nemt at flytte.
Avatar billede langkiller Nybegynder
07. november 2013 - 22:33 #10
Det ville ikke løse mit problem desværre. Har allerede prøvet det du siger der. Men tak alligevel
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester