Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> ladne linki, smart; nie podpinaja sie do strony style
jarober77
post 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
Go to the top of the page
+Quote Post
nospor
post 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

Go to the top of the page
+Quote Post
jarober77
post 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!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 12:23