Autor Zpráva
mumra
Profil
Dobrý den,
následující problém už se snažím vyřešit nějakou dobu. Bohužel neúspěšně, proto se obracím sem.

Mám stránku s asi takovou "konstrukcí":
-- ...
-- index.php
-- .htaccess
-- /includes/configs
-- /includes/pages/
-- /includes/css/
-- ...

Stránky z adresáře /includes/pages načítám přes index.php pomocí následujícího skriptu:
// dynamic loading
$pages_dir = './includes/pages';

if (!empty($_GET['p'])) {
    $pages = scandir($pages_dir, 0);
    unset($pages[0], $pages[1]);
            
    $p = $_GET['p'];
    
    if (in_array($p.'.inc.php', $pages)) {
        include_once ($pages_dir.'/'.$p.'.inc.php');    
    } else {
        include_once ($pages_dir.'/not_found.inc.php');
    }
        
} else {
    include_once ($pages_dir.'/home.inc.php');
}

Pro pěkné URL používám tento zápis v .htaccess:
...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ index.php?p=$1 

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)?/?$ index.php?p=$1&id=$2
...

A teď k tomu, co mi nefunguje. Pokud chci zobrazit například stránku index.php?p=post, tedy jakési články, stačí napsat adresastranky.cz/post. V tomto případě vše funguje. Problém nastává až v přidání lomítka za post. Pokud totiž chci zobrazit určitý článek, volám adresastranky.cz/post/5. Při téhle URL se výsledná stránka zobrazí bez stylování - jakoby se nenačítal soubor se styly. Pokud ale zavolám stránku "bez podrstrkávání" - index.php?p=post&id=5, zobrazí se vše správně. Takže nevím, zda-li je chyba v .htaccess. či někde jinde...

Předem děkuji za reakce.
Someone
Profil
nalinkuj si styly absolutní cestou.
mumra
Profil
Someone:
Uh, taková banalita a mne to nenapadlo. Děkuji :)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0