Autor Zpráva
JJ
Profil *
Zdravím,
zápasím s mod_rewrite a .htaccess. Mám toto:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]


Snažím se udělat toto: www.domena.cz/nazev-clanku (to funguje), ale pokud to zadám s lomítkem na konci: www.domena.cz/nazev-clanku/ tak mi to nenačte soubory se styly a obrázky. Pokud upravím adresy stylů a obrázků(např.: ../css/styly.css), nenačtou se obrázky a styly zase u varianty bez lomítka: www.domena.cz/neco
Poradíte kudy z toho ven? Rád bych, aby fungovaly obě varianty. Zápasím s tím celý den a kamarád Google taky nepomohl a rovněž obsah tohoto fóra. Už z toho lezu po zdi...
Davex
Profil
Řešením je odkazovat na soubory s absolutní cestou. Viz JPW: Mod_rewrite: Bacha na interpretaci cest.
fanos
Profil
zadavej styly a obrazky do kodu s absolutnim url tedy: http://www.d0mena.cz/styles.css, nebo s lomitkem na zacatku tedy: /styles.css
JJ
Profil *
Lomítko na začátku cesty např.: /css/styly.css nebo /images/picture.jpg ?
Absolutní cesty přece neotestuji na localhostu. Nebo ano?
fanos
Profil
davej tam konecnou domenu pro kterou to delas a do systemoveho souboru si pridej pro tuto domenu zaznam aby se ti smerovala na localhost
JJ
Profil *
[#5] fanos Neznám. Nasměruješ mě prosím?
Keeehi
Profil
C:\WINDOWS\system32\drivers\etc\hosts
fanos
Profil
tady je nějaký návod: http://navody.c4.cz/hosts
přidej tam řádek ve stylu: 127.0.0.1 www.tvojedomena.cz
JJ
Profil *
Děkuji. Nastuduji.
A jestli jsem to tedy dobře pochopil (než to budu moci vyzkoušet): Pokud použiji absolutní zápis adres, tak bude výše uvedený zápis [#1] JJ fungovat pro obě varianty? Tedy:
www.domena.cz/nazev-clanku
www.domena.cz/nazev-clanku/
Davex
Profil
Pokud bude cesta ke stylům a obrázkům absolutní (s lomítkem na začátku), tak se cesta ke článku nebude brát v úvahu - vznikne http://www.example.com/css/styly.css.

Pokud je vývojová verze webu na localhostu v podadresáři, tak musíš po doplnění souboru hosts ještě nakonfigurovat VirtualHost, aby se pro tvůj web zobrazovaly stránky ze správného adresáře.
JJ
Profil *
Už to šlape. Díky. Jdu si hrát :-)
JJ
Profil *
Ještě mám dotaz (spíše se chci ujistit):
V odkazech, v adresách obrázků, css stylů, JavaScriptů používám absolutní adresu - to je OK.
(Asi najivně) Jsem předpokládal, že by se měla objevit i v PHP skriptech - nicméně mi to hází chybu: že volba
allow_url_include
je vypnuto - předpokládám, že je to v pořádku, protože na hostingu to mají stejně.
Ptám se je tedy v pořádku pokud použiji relativní cestu v PHP skriptu? Cesta je relativní ke kořenovému adresáři a tedy i k umístění .htaccess.
Pro názornost:
<?php
	$file = "pages/head.php";
	if (file_exists($file)){
		include ($file);
	} 
	else {
		include "pages/404.php";
	}
	?>
JJ
Profil *
Naivně... (blamáž - trochu jsem se přepsal - omluvte mě). Takhle to vypadá, když to po sobě člověk nepřečte...
Davex
Profil
JJ:
PHP nezajímá umístění souboru .htaccess ani zapnuté přepisování adres pomocí mod_rewrite, takže používej relativní cesty relativně k umístění skriptu. Jako by se nic nepřepisovalo.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0