Autor Zpráva
koko
Profil *
root obsahuje adresáře dir1 (obsahuje hlavní web), dir2(obsahuje jiny web)

na dotaz domena.cz/něco chci podstrčit domena.cz/dir1/něco s výjimkou, pokud někdo zadá přímo domena.cz/dir2

podařilo se mi přesměrovat jednu konkrétní stránku takto

#RewriteRule ^strankaxy dir1/index.php?menu=strankaxy [QSA,L]

ale pokud použiji obecné

#RewriteRule (.*) dir1/index.php?menu=$1 [QSA,L]

tak se server zamrzne = pravděpodobně dělá redirekt stále v cyklu

Jak udělat podmínku, aby vícekrát nesměroval?

směruj jen, když není část za domena.cz/... rovna index.php nebo když není rovna dir2

zkoušel jsem neúspěšně např.
#RewriteCond !(^( (index.php)|(dir2) )) [NC]

děkuji
koko
Profil *
zajímavé také je, že při použí #RewriteRule ^strankaxy dir1/index.php?menu=strankaxy [QSA,L] se html vnořeného webu zobrazí, ale odkazy na obrázky již né, protože jsou v dir1/ a zobrazená stránka se chová jako by byla pří v rootu, i když je do rootu jen podstrčena z dir1..
snad jsem to popsal srozumitelně:)
Bronzi
Profil
použij jako podmínku
RewriteCond %{REQUEST_FILENAME} !-d
to ti vynechá všechny složky které existují.
jinak si přečti jak RewriteCond funguje
http://interval.cz/clanky/mod-rewrite-pro-hezka-url-rewritecond/
koko
Profil *
uz jsem nasel priklad na http://drupal.org/node/101644
/* k cemu je RewriteRule ^$ /site [L,QSA] z toho prikladu? to co to ma delat podle jejich popisu to nedela, nemaji tam chybu? */
trosku si pohral a zjistil, ze takhle uz rewrite funguje:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /dir1/index.php?menu=$1 [L,QSA,NE]

2 Bronzi diky

ale stale jsem nerozchodil obrazky a styly, ktere mam vsechny pripojene relativne, nechci je prepisovat na absolutni cesty, jako to radi niCe zde topic=56238 poradi nekdo reseni?

kdyz pridam do zavorky R jako presmerovani, tak je sice vse v poradku nacteno vcetne obr a stylu, ale url je skareda
koko
Profil *
Je to spatny, reseni zrejme neni http://www.webmasterworld.com/forum92/5942.htm
Kajman_
Profil *
nechci je prepisovat na absolutni cesty

Můžete všude přidávat nějaký prefix, co vytvoří absolutní cestu a nastavíte si ho na každém serveru jinak.
koko
Profil *
myslíte na to ošetřit v php způsobem src=$prefix_serveru."images/obr.jpg"... ?
to není špatný nápad, díky
dady
Profil *
Zdravím, mám podobný problém, ale nepodařilo se mi jej tím vyřešit...

Root obsahuje adresáře dir1 (obsahuje hlavní web), dir2(obsahuje jiný web).
Když tedy zadám URL www.example.com/dir1/ načte se mi 1. web, když zadám www.example.com/dir2/, načte se logicky druhý.
Když však zadám www.example.com/, rovněž chci směřovat na 1. (hlavní) web!

V rootu mám soubor .htaccess a zkouším zde:

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /dir1/ [L,QSA,R]

V tomhle případě se web nikam nepřesměruje, ale zůstane trčet na indexu v rootu (kde nic není).
V případě, že zapoznámkuji podmínku, pak se server zacyklí (URL nejspíš vypadá nějak takto: www.example.com/dir1/dir1/dir1/dir1/dir1/dir1/dir1/dir1/dir1/dir1/dir1 /dir1/dir1/dir1/dir1/dir1/)

Nevím si rady, zkoušel jsem už kde co, ale zatím jsem to nevyřešil.
Prosím o nakopnutí.

Díky, dady.
Kajman_
Profil *
RewriteBase /
RewriteRule ^/?dir - [L]
...
dady
Profil *
Díky, to pomohlo

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: