Autor | Zpráva | ||
---|---|---|---|
Jeremy88 Profil |
#1 · Zasláno: 31. 7. 2006, 04:55:10 · Upravil/a: Jeremy88
Mám docela zvláštní problém s mod_rewrite a vůbec netuším jak ho vyřešit, protože jsem s tímto modulem ještě nikdy předtím nepracoval.
Chtěl jsem z dynamických adres odstranit parametry, zde je příklad: z category.php?page=nejaka-kategorie/ na kategorie/nejaka-kategorie/ Vyzkoušel jsem asi 10 různých řešení co jsem našel na internetu (2krát jpw, interval.cz, zive.cz, myhtaccess.com, weblogy, něco bylo i zde v diskuzi atd.), ale buďto se mi po zadání "kategorie/nejaka-kategorie/" zobrazovali chybové hlášky (asi jsem ty příklady špatně předělal) anebo, a to ve většině případů, prohlížeč požadovanou stránku skutečně zobrazil, ale bez CSS a také obsahu, který se načítá z databáze podle url. Dále byly pozměněny všechny adresy v takto načteném dokumentu a to jako by byl root až za posledním lomítkem současné adresy, jestli mě chápete. Pokoušel jsem se to nejdříve řešit jiným mod_rewrite zápisem, ale když se objevovala pořád ta samá chyba, tak jsem začal experimentovat s "RewriteBase /". Když ani to nepomohlo, přesunul jsem celý projekt do rootu na locahostu, jelikož byl v podsložce, ale výsledek byl pořád stejný - dokument se pod pozměněnou adresou sice načetl, ale byla to jen prázdná schránka bez obsahu, navíc bez stylů. Mně to přijde jako dost zvláštní chyba, pokud jste se s tím už někdo setkali nebo máte s mod_rewrite více zkušeností, prosím pomozte mi vyřešit tuto zapeklitou situaci. Předem díky. |
||
japlavaren Profil |
#2 · Zasláno: 31. 7. 2006, 11:01:33
no, neviem, hoď ten script
|
||
Kajman_ Profil * |
#3 · Zasláno: 31. 7. 2006, 11:04:44
Ta verze, kdy byly vypadené styly a divné odkazy byla z hlediska přepisování správná.
Jen musíte na celém webu opravit adresy, aby odpovídaly uměle vytvořené strunktuře. |
||
Jeremy88 Profil |
#4 · Zasláno: 1. 8. 2006, 03:51:59
Diky za odpovedi.
Dukladne jsem si znovu precetl clanky na intervalu a s jejich pomoci jsem sice neco vyrobil, ale neni to zdaleka muj cil, tak mi snad s tim tady pomuzete. Ted mi funguje toto: - zazadam o http://localhost/rs/nadpis-clanku-ci-aktualizace.html a tam se zobrazi obsah dokumentu http://localhost/rs/article.php?page=nadpis-clanku-ci-aktualizace/ vcetne css, obsahu z databaze a "nepopletenych" url adres odkazu - zavolam http://localhost/ifg-rs/uzivatel/jeremy88.html a zobrazi se obsah souboru http://localhost/ifg-rs/user.php?page=jeremy88/ vcetne css (po osetreni pomoci "../" v <link href="">) a obsahu databaze, ale se spatnymi adresami v dokumentu - url se chovaji, jakoby byl root za .../uzivatel/ coz je samozrejme nepripustne V .htaccess je zatim tohle: RewriteEngine On RewriteRule ^uzivatel/(.*)\.html$ user.php?page=$1/ [L,QSA] RewriteRule ^(.*)\.html$ article.php?page=$1/ [L,QSA] Potrebuji tedy poradit s: 1) Opravenim adres v dokumentu, kdyz pouziji v umele vytvorene url adresar (/uzivatel/..., /kategorie/...). Musim to potom nejak specialne osetrovat nebo to lze vyresit uz primo pres mod_rewrite ?? Napadal me RewriteBase, bohuzel nevim jak presne jej pouzit. 2) Ty koncovky .html bych chtel vymenit za lomitka na konci, ale kdyz jsem to (nejspis dost nevhodne) udelal v tom mem zapise, tak mi nechteli vubec fungovat css styly ani po pridani nekolika ../ do <link href=""> a root pro dany dokument se zase posunul. 3) Chtel bych pouzivat vice moznosti, ne jenom /uzivatel/, ale i napr. /kategorie/, /statistika/, ... Ale opet nevim jak to zapsat, aby ty podminky navzajem nekolidovali. 4) Na JPW bylo pouzito nasledujici: RewriteCond %{QUERY_STRING} ^page=([^&]+)$ RewriteRule ^index\.php$ %1.html? [R=301,L] RewriteRule ^([^/]+)\.html index.php?rw=1&page=$1 [L,QSA] A jestli to chapu spravne, tak se po zadani "staticke" ci "seo url" se nic nemeni, ale zazada se o jeji dynamicky protejsek, ale kdyz je zazadano pri o dynamickou adresu, tak je presmerovano [R] na tu spravnou statickou. Chapu to dobre ?? A nevite taky nekdo jak to udelat tak, aby to fungovalo v mem pripade ?? Diky moc za precteni a jeste mnohonasobne vic za odpoved, ktera me posune kupredu. |
||
Jeremy88 Profil |
#5 · Zasláno: 2. 8. 2006, 00:51:01 · Upravil/a: Jeremy88
Opravdu se nenajde nikdo, kdo by mi pomohl ?? Urcite mate s mod_rewrite daleko vic zkusenosti nez ja. Preci nechci nijak slozite veci, jen par uprav tech mych nedokonalych RewriteRule. Jestli vite nekdo jak na to, tak prosim, pordte. Predem diky.
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0