Autor | Zpráva | ||
---|---|---|---|
MTommy Profil * |
#1 · Zasláno: 19. 6. 2007, 09:07:02
Dobrý den,
už nevím co dál zkusit, prosím poraďte někdo. Snažím se už asi týden o to, aby když zadám do adresního řádku v prohlížeči např.: http://mojedomena.cz/ tak aby mi "podstrčil" data z adresy http://mojedomena.cz/slozka1/ , ale přitom v adresním řádku zůstalo http://mojedomena.cz/ Snažil jsem se to dělat dle tohoto: http://www.jakpsatweb.cz/server/mod-rewrite.html#rozdil ale výsledek je pořád stejný (sice data z http://mojedomena.cz/slozka1/ načtu ale v adresním ředku vidím tohle http://mojedomena.cz/slozka1/ ) zkoušel jsem i RedirectMatch ^/$ /slozka1/ a výsledek stejný jako předtím |
||
temistokles Profil |
#2 · Zasláno: 19. 6. 2007, 10:35:16
Nepomohlo by?
RewriteEngine On RewriteCond %{REQUEST_URI}! !^slozka1 RewriteRule ^(.*)$ /absolutna/cesta/k/slozka1 [L,QSA] Takto by to tuším nemalo premserovať, ale prepísať vnútorne. |
||
MTommy Profil * |
#3 · Zasláno: 19. 6. 2007, 10:48:36
ee tohle hazí chybu, že byl script zastaven serverem z duvodu smyčky :o(
|
||
temistokles Profil |
#4 · Zasláno: 19. 6. 2007, 11:19:42
Oki, vyhral som sa s tým. Problém bol, že URI adresa sa nemení, mení sa len adresa skriptu.
RewriteEngine On RewriteCond %{SCRIPT_FILENAME}! !^/absolutna/cesta/k/slozka1 RewriteRule ^(.*)$ /absolutna/cesta/k/slozka1/$1 [L,QSA] |
||
MTommy Profil * |
#5 · Zasláno: 19. 6. 2007, 13:08:47
nemůžu si pomoc ale nejde mi to.
jediný na co jsem přišel je: RewriteCond %{HTTP_HOST} ^moje-domena.cz RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/slozka1/ toto sice do adresního řádku napíše to co chci, ale vždy mi podhodí pouze index.php |
||
temistokles Profil |
#6 · Zasláno: 19. 6. 2007, 13:47:58
Ten môj kód skontroluje, či sa skript, na tkorý smeruje dotaz, nenachádza v zložke "slozka1", ak sa nenachádza, tak prepíše akýkoľvek dotaz do danej zložky. U mne to fungovalo perfektne :).
Ten kód, čo si vytvoril skontroluje, či sa nachádzaš na svojej doméne (navyše ani ensmieš použiť www!). Následne prepíše cestu na document_root/slozka1/.... Zaujímavé, že sa to necyklí :). Kebyže napíšeš RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/slozka1/$1, mohlo by to teoreticky fungovať. |
||
MTommy Profil * |
#7 · Zasláno: 19. 6. 2007, 14:01:38
no necyklí se já už tomu vůbec nerozumim :( ani trošku kazdopadne www muzu použít páč to už si obstarávám výšše ve scriptu
|
||
temistokles Profil |
#8 · Zasláno: 19. 6. 2007, 19:05:44
Skús si zapnúť logovanie prepisov, ak máš prístup ku konfigurákom apachea - http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteLog
To by ti mohlo pomôcť, zistíš, v ktorom kroku nastane logická chyba. |
||
Gaudino Profil * |
#9 · Zasláno: 20. 6. 2007, 03:11:33
Ahoj, potreboval bych poradit s mod_rewrite.
pokud adresa obsahuje pouze jednu promennou, tak to resim takto: RewriteRule ^(.*).html$ %{DOCUMENT_ROOT}/index.php?clanek=$1 [L,QSA] a jede mi to v pohode. ale ted jsem chtel udelat prepisovani adres v hlubsi strukture webu a narazil jsem na problem. potreboval jsem prepsat toto: <a href="index.php?clanek=ukazclanek&id_cl=<? echo $zaznam["id_cl"] ?>"> a resil jsem to takto, ale nefunguje mi to. RewriteRule ^(.*)-([0-9]+).html$ %{DOCUMENT_ROOT}/index.php?clanek=$1&id_cl=$2 [QSA] a pak jsem jako odkaz dal <a href="ukazclanek-<? echo $zaznam["id_cl"] ?>.html"> mam to zrejem sptane, muzete mi nekdo prosim vas poradit....dekuji moc |
||
Kajman_ Profil * |
#10 · Zasláno: 20. 6. 2007, 09:01:18
Zkuste dát
RewriteRule ^(.*).html$ za RewriteRule ^(.*)-([0-9]+).html jinak vám tu variantu s pomlčkou sežere. |
||
Gaudino Profil * |
#11 · Zasláno: 20. 6. 2007, 11:23:17
to Kajman
Muzes mi to prosim te nejak nazorneji vysvetlit. Moc z toho moudry nejsem. diky |
||
Kajman_ Profil * |
#12 · Zasláno: 20. 6. 2007, 14:32:40
RewriteRule ^(.*)-([0-9]+).html$ %{DOCUMENT_ROOT}/index.php?clanek=$1&id_cl=$2 [L,QSA]
RewriteRule ^(.*).html$ %{DOCUMENT_ROOT}/index.php?clanek=$1 [L,QSA] |
||
Gaudino Profil * |
#13 · Zasláno: 20. 6. 2007, 15:14:31
takze jsem to prepisovani adres hledal vsude na netu, az jsem nasel pekne vysvetleno, jak se to ma delat.
delam to podle toho, a funguje :-), ale narazil jsem jeste na jeden problem. mam tam mimojine toto: RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+)/([^/]+)?/?$ ?clanek=$1&typkraje_o=$2 RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/ukazclanek])/([^/]+)?/?$ ?clanek=$1&id_cl=$2 ale vzdy funguje pouze jeden. nejak se to vzajemne prepisuje, chtel jsem se zeptat, jak se to ma jednoznacne rozlisit tak, aby se vzdy poznalo o co se jedna. jsou to totiz uplne stejne Rule o 2 promennych, lisici se pouze o posledni promennou. |
||
deGaudino Profil * |
#14 · Zasláno: 20. 6. 2007, 15:43:24
a jeste jsem se chtel zeptat, az postupne cely web prepracovuji na staticke odkazy a pomoci mod_rewrite jsem zaridim, aby se mi podstrkavali dynamicke adresy misto statickych.....
chtel jsem se tedy zeptat, jestli je potreba osetrit nekde nejaka dulezita vec (zrejme v .htaccess), aby mi zustaly pozice ve vyhledavacich a pocty zaindexovanych stranek? dekuji Pavel |
||
Kajman_ Profil * |
#15 · Zasláno: 20. 6. 2007, 17:22:40
jak se to ma jednoznacne rozlisit
Konkrétnější uvádějte víc nahoře a dejte jim flag L. RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(ukazclanek)/([^/]+)?/?$ ?clanek=$1&id_cl=$2 [L,QSA] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+)/([^/]+)?/?$ ?clanek=$1&typkraje_o=$2 [L,QSA] Příklad přesměrování z dynamických adres na statické je na jpw http://www.jakpsatweb.cz/server/mod_rewrite/mod-rewrite-priklady.html# dyntostat |
||
deGaudino Profil * |
#16 · Zasláno: 20. 6. 2007, 21:04:54
ja jsem asi porad nejakej natvrdlej :-)
me se proste porad nedari od sebe rozlisit ty 2 Rule....proste mi bud funguje 1 nebo 2. problem je v tom, ze tuhle cast maji oba Rule stejne RewriteRule ^([^/]+)/([^/]+)?/?$ a pak jiz nijak nelze rozhodnout, ktery z tech 2 se ma pouzit na konecny prepis tohle jsi se snazil nejak + - pochopit, ale porad mi to nefunguje http://www.jakpsatweb.cz/server/mod_rewrite/mod-rewrite-priklady.html# dyntostat tady davam kus meho .htaccess (nahore je drobna chyby - pozustatek experimentu), kdyby se jeste nekdo chtel podival a poradit RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+)/([^/]+)?/?$ ?clanek=$1&typkraje_o=$2 [L,QSA] #RewriteCond %{REQUEST_FILENAME} !-d #RewriteCond %{REQUEST_FILENAME} !-f #RewriteRule ^([^/]+)/([^/]+)?/?$ ?clanek=$1&id_cl=$2 [L,QSA] to Kajman: poradne ti nerozumim v tom smyslu "konkretnejsi".... oba delaji neco jineho, tudiz jsou oba stejne dulezite a oboje musi fungovat.... a nevim presne co s tou flagou L? strkal jsem to ruzne mozne, ale bez vysledku jeste jednou predem dekuji |
||
deGaudino Profil * |
#17 · Zasláno: 20. 6. 2007, 21:09:03
skoda ze na tom "jak psat web" neni ukazka jak to ma vypadat pro 2 a vice promennych.....
|
||
Kajman_ Profil * |
#18 · Zasláno: 20. 6. 2007, 22:37:36
Musíte si holt vymyslet pravidla jak určit, kterou adresu bude který skript zpracovávat. Když to nepoznáte sám, tak těžko nastavíte server.
skoda ze na tom "jak psat web" neni ukazka jak to ma vypadat pro 2 a vice promennych..... Více proměnných je použito v posledních příkladech. Škoda, že jste se nedočetl až tam, těsně pod tím jsou totiž odkazy na manuály, ze kterých se dá fungování tohoto modu pochopit koplexně. Jinak si myslím, že bude nejlepší, když ty stránky necháte, jak jsou. |
||
deGaudino Profil * |
#19 · Zasláno: 21. 6. 2007, 00:46:25
takze nakonec jsem to cele udelal a funguje to :-)
sice zabralo skoro celej den, ale mam "pekne adresy" jeste jednou dekuji Kajmanovi, za celodeni prispevky:-) |
||
Časová prodleva: 3 měsíce
|
|||
opisek.net Profil * |
#20 · Zasláno: 21. 9. 2007, 23:30:44
Dobrý den,
prosím o radu, asi jsem labilní lama, ale po pročtení všech dostupných diskuzí o Mod ReWrite jsem nepřišel na to, jak nasměrovat url "subdomena.domena.cz" na obsah "domena.cz/subdomena", aby přitom v příkazovém řádku zůstala původní url, tedy "subdomena.domena.cz" Předem děkuji z odpověď. |
||
Časová prodleva: 18 let
|
0