Autor Zpráva
Looser
Profil *
Mám web který fungoval naprosto bez problemu ale kdyz jsem se rozhodl že si udělám "pěkné adresy" pomocí rewriterule tak ihned po nahrání .httacess souboru na server se web začal chovat jakoby cesta k css stylu byla špatná a zobrazoval se naprosto nezformatovaně. Nevite nekdo co se stim da udelat ??
Měsíček
Profil
Reaguji na Loosera:

"Nevite nekdo co se stim da udelat ??"

Nafackovat si, obvykle to pomáhá. Pošli obsah souboru .htaccess
Medvídek
Profil
Já byl línej to upravovat v htac., tak jsem si dělal buďto
<base href="http://faubech.cz">
, nebo css link dal absolutni adresu.
Looser
Profil *
když ti to pomůže

RewriteEngine On
RewriteBase /

RewriteRule ^([^/]+)/?$ index.php?type0=$1 [L,QSA]

RewriteRule ^([^/]+)/([^/]+)/?$ index.php?type0=$1&type1=$2 [L,QSA]

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ index.php?type0=$1&type1=$2&type2=$3 [L,QSA]

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ index.php?type0=$1&type1=$2&type2=$3&type3=$4 [L,QSA]

RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ index.php?type0=$1&type1=$2&type2=$3&type3=$4&type4=$5 [L,QSA]


ErrorDocument 400 /error.php?400
ErrorDocument 401 /error.php?401
ErrorDocument 403 /error.php?403
ErrorDocument 404 /error.php?404
ErrorDocument 500 /error.php?500
Měsíček
Profil
Reaguji na Loosera:

"když ti to pomůže "

Mně ne, možná, ale tobě a těm, kteří se ti budou snažit pomoct.

Nejspíše v "RewriteBase /" bude zakopaný pes, protože příkaz RewriteBase nastaví výchozí adresář pro cíle všech přesměrování.
bohyn
Profil
Problem bych hledal v relativni ceste k CSS. Pouzij misto toho absolutni
Měsíček
Profil
Reaguji na bohyna:

"Problem bych hledal v relativni ceste k CSS. Pouzij misto toho absolutni"

Čímž vyřešíš důsledek ne příčinu.
bohyn
Profil
Měsíček
"RewriteBase /" to taky nevyresi
Měsíček
Profil
Ne, ale měl by být příčinnou nebo se mýlím? Pokud dá tento příkaz pryč, změní RR výraz mělo by to fungovat bez problému.
bohyn
Profil
Měsíček
Jde o to ze kduz ma URI "/neco" tak prohlizec hleda CSS v "/neco/soubor.css" a to vyse uvedeny rewrite neprepise na "/soubor.css"

"RewriteBase /" ma smysl kdyz je .htaccess zanoreny nekde v adresari a potrebujes se dostat o adresar vys. Ja ho tam ale pro prehlednost a jistotu davam vzdy.
Looser
Profil *
smazal jsem to RewriteBase / ale nijak to nepomohlo
bohyn
Profil
Looser
Jak psal Medvídek a ja, dej "/" pred adresu toho stylu, tim vytvoris absolutni cestu a bude ti to fungovat ve vsech "podadresarich".
Jack Finger
Profil
Looser
Četl jsem diskuzi jen sběžně, ale myslím, že vím o co jde (snad jsem to pochopil správně). Toto téma zde již je několikrát řešeno, používej vyhledávání. Jinak já to řeším přes define(), zjednodušeně:
<?php
  define('ABS_DIR', 'http://website.cz/');
  echo '<link rel="' . ABS_DIR . 'style.css">';
?>

Výhodu to má např. tu, že pokud máš "posunutý root" webu do nějakého podadresáře, tak nemusíš všude psát /podadresar/web/style.css, ale pořád jen ABS_DIR ... Stejně tak mám IMG_DIR (cesta k images adresáři a ROOT_DIR (relativní cesta pro PHP, např. /home/ftp/website.cz/files/...
BetaCam
Profil
Měsíček
"Problem bych hledal v relativni ceste k CSS. Pouzij misto toho absolutni"

Čímž vyřešíš důsledek ne příčinu.


No obecně u aplikací kde se používá rewrite je doporučeno používat absolutní adresování.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0