Autor | Zpráva | ||
---|---|---|---|
Lumír Profil * |
#1 · Zasláno: 6. 6. 2005, 11:11:49
V apachi mám nastaven DocumentRoot např. C:/weby. Na disku mám různé weby v podadresářích C:/weby/web1/, C:/weby/web2/ atd. Na jednom z webů, např. web2 chci používat mod_rewrite. Do C:/weby/web2/ umístím .htaccess např. s tímto pravidlem:
RewriteEngine On a všechny relativní odkazy v souborech webu musí vypadat takto: ...href="/web2/katalog/12/polozka-v-katalogu.html", ...href="/web2/styly/styl.css", ...img src="/web2/obrazky/obr1.gif" atd. Takto nastavené cesty s /web2 v odkazech fungují. Nemohu však přijít na to - a prosím o radu - jak dosáhnout toho, aby v RewriteRule ani v odkazech nezačínala cesta /web2 ale jen lomítkem, tzn. takto.: ...href="/katalog/12/polozka-v-katalogu.html", ...href="/styly/styl.css", ...img src="/obrazky/obr1.gif" atd. Možná pomocí RewriteBase, ale nejde mi to. Díky. |
||
Petra Profil |
#2 · Zasláno: 6. 6. 2005, 11:20:04
Jestli dobře chápu, tak stačí mít nastavený web2 jako kořenový adresář a používat rewrite rule bez toho, takto:
RewriteRule ^katalog/([a-zA-Z0-9-]*)/(.*)\.html$ /index.php?cislo=$1&nazev=$2 [L,QSA] |
||
Lumír Profil * |
#3 · Zasláno: 6. 6. 2005, 11:41:39
Ano, když nastavím jako kořenový adresář C:/weby/web2, tak to funguje, ale potíž je právě v tom, že potřebuju jako kořenový mít právě C:/weby a pro web2, web4 atd. používat různé soubory .htaccess.
|
||
Petra Profil |
#4 · Zasláno: 6. 6. 2005, 11:50:20
Ajo. Tak to se musí vytvořit virtuální servery.
|
||
Lumír Profil * |
#5 · Zasláno: 6. 6. 2005, 12:31:56
Díky, zkusím to s virt. servery.
Zatím jsem přišel na řešení bez nich, není asi moc elegantní, ale zdá se, že funguje: Do indexu přidám <base href="http://localhost/web2/" /> a všechny relat. odkazy budou začínat tečkou ./: ...href="./katalog/12/polozka-v-katalogu.html", ...href="./styly/styl.css", ...img src="./obrazky/obr1.gif" atd. V RewriteRule zůstane /web2 ale to už tak nevadí. |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0