ladne linki, smart; nie podpinaja sie do strony style |
ladne linki, smart; nie podpinaja sie do strony style |
8.04.2019, 19:28:19
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 8.04.2019 Ostrzeżenie: (0%) |
Mam dziwny problem.
W swoim malym frameworku chciałem uzyc ładnych linkow jak www.strona/controler/action/varible/value itd. zgodnie z http://nospor.pl/ladne-urle.html utworzyłem .htaccess RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*) index.php/$1 [L] czyli wszystko przekierowuje na index a tam parsuje: Kod static public function getUrlParametrs() { if (empty($_SERVER['PATH_INFO'])) { //pusta ścieżka return true; } $pathInfo = trim($_SERVER['PATH_INFO'], '/'); //usuwamy znak / z końca $arr = explode('/', $pathInfo); //rozbijamy naszą ścieżkę na podstawie / $count = count($arr); //pierwsze dwa elementy to moduł i akcja $_GET['_controler'] = $arr[0] ? $arr[0]:null; $_GET['_action'] = isset($arr[1]) ? $arr[1] : null; //tu małe zabezpieczenie, gdyby ktoś zapomniał podać akcji //następne elementy to nazwy parametru i parametr i tak co dwa for ($i = 2; $i < $count; $i += 2) { $_n = $arr[$i]; //nazwa parametru $_v = isset($arr[$i + 1]) ? $arr[$i + 1] : ''; //wartość parametru $_GET[$_n] = $_v; } } następnie w index.php wywoluje te getUrlParametrs() by uzupelnila mi GET i dalej działam na $_GET tak jak to było zanim uzywalem ladnych linkow Kod Url::getUrlParametrs(); $controler = $_GET['_controler'] ? $_GET['_controler'] : _DEFAULT_CONTROLLER; $action = $_GET['_action']; $parametrs = array(); $c = new $controler(); if (isset($action)) if (method_exists($controler, $action)) { foreach ($_GET as $key => $value) { if (($key != '_controler') && ($key != '_action')) $parametrs[$key] = $value; } $GLOBALS['trace']->saveTrace(array('what' => 'controllers', 'val' => $controler . '->' . $action)); $c->$action($parametrs); } else page_404('Nie znana akcja!'); else { try { $c->index(); } catch (Exception $ex) { print_r($e); die; } } controler: Kod class Home extends ControllerCore { public function __construct() { parent::__construct(); } public function index() { $loram = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."; $this->tpl->assign('page', $loram); $this->display('home/home'); i teraz tak. Szablony smarty się uzupelniaja i pojawia się strona ale bez styli, nie widzi ich , jakby nie były załadowane! W zrodle strony sa jak najbardziej ale na ekranie nie sformatowany stylami tekst . Jak tylko usune htacces i zakomentuje funkcje od dekodowania $_SERVER['PATH_INFO'], czyli działa po staremu index.php?_controler=home&action= itd...wszytsko działa jak należy! Wie ktoś może jak to rozwiazac? Z góry dziekuje |
|
|
8.04.2019, 20:20:57
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 446 Pomógł: 6292 Dołączył: 27.12.2004 |
Podales kupe kodu i zero zwiazanego z problemem. Otwieram wiec szklana kule i udzielam odpowiedzi:
W kodzie masz link do stylu o taki styl.css A masz miec o taki: http://twojurl/styl.css od biedy /styl.css -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
8.04.2019, 20:47:32
Post
#3
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 8.04.2019 Ostrzeżenie: (0%) |
stary, ja pierd.... nie masz pojęcia ile nad tym siedziałem, jakie analizy i kur...nie wpadłem na to....jak pokazales mi...to przypomniało mi się ze cos takiego widziałem i olsnilo mnie, ze to logiczne.
Jestes mistrzem dzięki!!! Dostalem jakiegoś zaćmienia umysłu! |
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 12:23 |