Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][CSS][PHP]Przyjazne linki - nie widzi plików css i js
Forum PHP.pl > Forum > Przedszkole
stepien
Witam.

Pisze stronę internetową i mam taki problem

htaccess

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]

Klasa root

<?php

class root {

public $class;
public $action;
public $params;


public function __construct() {

$routParts = explode("/", $_GET['url']);

$this->controller = 'c'.$routParts[0];
$this->action = isset($routParts[1]) ? $routParts[1] : "index";

array_shift($routParts);
array_shift($routParts);

$this->params = $routParts;;
}

public function run(){

$sys = new $this->controller();
$sys->{$this->action}($this->params);
}
}

?>


Linki:


news i news/add

Przy pliku new widziane są jc i css
Natomiast jak klikam news/add to nie dziwidzi js i css.
Jak to rozwiązać ten problem?
dreamit
Przyczyną może jest dołączenie pliku bez / na początku odnośnika gdzie się znajduje??

jak dołączasz plik css np.
zamiast:
<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
zrób z ukośnikiem
<link rel="stylesheet" type="text/css" href="/style.css" media="screen" />
stepien
Nie działa.
viking
Spróbuj:

Cytat
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*)$ /ndex.php?url=$1 [NC,L]

A jakie masz adresy w konsoli przeglądarki dla js i css?
stepien
Nie działa

Konsola:
<link href="/backend/css/szablon.css" rel="stylesheet">
<script src="../js/jquery.js"></script>
<script src="../js/validate.js"></script>
viking
Co próbuje wczytać w zakładce sieć?
stepien
<a href="news/add">Dodaj</a>

A powinno być

<a href="szkola2/news/add">Dodaj</a>

W pliku mam

<a href="news/add">Dodaj</a>

w url pokazuje:

http://localhost/szkola2/news/add

Nie wiem co robie zle.
viking
A szkoła ma się magicznie wyczarować? Nie ma w linku to skąd nagle ma być w adresie?
stepien
Mam tak nazwane folder w htdocs i mi pokazuje. Juz nie wiem co robie zle.
trueblue
Cytat(stepien @ 7.08.2018, 17:07:38 ) *
<a href="news/add">Dodaj</a>

A powinno być

<a href="szkola2/news/add">Dodaj</a>

Dlaczego uważasz, że powinno być, skoro piszesz, że w adresie właśnie jest /szkola2/:

Cytat(stepien @ 7.08.2018, 17:07:38 ) *

?

Stronę uruchamiasz z katalogu /szkola2/, ścieżki masz względne, więc URL jest "sumą" adresu, z którego uruchamiasz i ścieżki względnej.
Tu akurat wszystko jest ok.
viking
Kod
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [L]

RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteRule ^(.*)$ %{ENV:BASE}/index.php [L]
leonpro778
Może będzie łatwiej gdy przedstawisz tutaj swoją strukturę katalogów?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.