Autor | Zpráva | ||
---|---|---|---|
ReVolt Profil |
#1 · Zasláno: 9. 5. 2012, 20:15:37
Ahoj, mám problém s přepsáním adres do koukatelnější podoby, jak jsem vyčetl tak to pracuje pouze s obsahem url adresy a já jsem chtěl aby mi to z např. tohoto: domena.cz/clanek.php?id=500 udělalo toto domena.cz/clanek-500
to bych snad nějak zmastil, ale když se tam těch proměnných dostane víc např: domena.cz/clanky.php?kategorie=5&strana=2 -> domena.cz/clanky-5/2 tak to asi musím napsat nové pravidlo pro přepisování, ale jak to pozná kdy bude přepisovat adresu s 1 (nebo dokonce 0) proměnnou a kdy s více to je ten systém natolik inteligentní nebo mu to musím nějak říct? mod_rewrite mi hlava nebere sedím nad tím už dýl a pořád to ne a ne pobrat, asi jsem na tohle tupej Díky zapomoc |
||
Davex Profil |
#2 · Zasláno: 9. 5. 2012, 20:52:15
ReVolt:
Hlavní kus práce se musí udělat v PHP skriptu, aby na webu vytvářel pěkné odkazy. Mod_rewrite už je jen nástroj, který zařídí přepis těch pěkných adres na PHP skript, který zařizuje všechno ostatní. Počet proměnných vůbec neřeš. Přepisuj všechny adresy nevedoucí k souborům na PHP skript a tam už si s adresou udělej co je potřeba. Viz Řešení některých častějších problémů (FAQ) » Univerzální obecné pravidlo. |
||
ReVolt Profil |
#3 · Zasláno: 9. 5. 2012, 21:55:33
Davex:
aha, takže když mám adresu domena.cz/clanek.php?id=5 tak si napíšu skript, který mi vytáhne třeba jméno článku, dejme tomu Nový článek, potom to upravím na novy-clanek a tohle nějak dám tomu mod_rewrite aby mi vyplivl adresu domena.cz/novy-clanek pochopil jsem to správně? |
||
Davex Profil |
ReVolt:
„... potom to upravím na novy-clanek a tohle nějak dám tomu mod_rewrite aby mi vyplivl adresu domena.cz/novy-clanek“ Upraví se na novy-clanek, na stránku vypíše PHP skriptem do odkazu <a href="novy-clanek">nový článek</a> , po kliknutí na odkaz a načtení stránky z adresy domena.cz/novy-clanek jen mod_rewrite zařídí, že se zavolá skript s parametrem index.php?url=novy-clanek . Hodnota parametru se v PHP skriptu přečte z pole $_GET['url'] a podle toho se také ve skriptu zobrazí správný obsah stránky.
Vlastně by neškodilo přečíst si o Mod_rewrite, kde Yuhů popsal to samé a podrobněji. |
||
ReVolt Profil |
#5 · Zasláno: 10. 5. 2012, 16:20:01
Davex:
jo takhle a já jsem myslel (blbě jsem to pochopi) že je to naopak |
||
Časová prodleva: 4 dny
|
|||
ReVolt Profil |
Ahoj, ještě jeden problém, přečetl jsem si článek o mod_rewrite
do htaccess jem si dal tohle RewriteRule (.*)/([1-9]*)-(.*) redirect.php?stranka=$1&id=$2
ale co mám napsat od toho redirect.php, když jsem, v htaccess měl clanek.php tak to bylo dobrý, ale když budu mít třeba clanek.php a kategorie.php, kde bude ještě stránkování, tak jsem myslel, že si mám vytvořit jiný soubor, kde nadefinuji redirecty, ale nenapadá mě jak, nevím jestli na to jdu dobře tak ještě jinak, do htaccess jsem napsal tohle: RewriteEngine on RewriteRule kategorie/([1-9]*)-(.*)/([1-9]*) kategorie.php?id=$1&page=$3 RewriteRule clanek/([1-9]*)-(.*) clanek.php?id=$1 to by jakž takž fungovalo, jen mi to ty adresy řetězí z sebe: 127.0.0.1/kategorie/1-Kategorie-ahoj/clanek/1-test-%C2%A9/kategorie/2-Dal%C5%A1%C3%AD-kategorie/ jak jsem pochopil z FAQ tady v této sekci tak kdybych vše řešil přes index.php tak by to asi nedělalo, jenže já nechci mít všechno v jednou souboru EDIT: když zadám absolutní url tak je vše ok, nejde to i relativní? |
||
Davex Profil |
#7 · Zasláno: 14. 5. 2012, 22:39:37
ReVolt:
„když zadám absolutní url tak je vše ok, nejde to i relativní?“ Šlo by to, když se v adrese nebudou používat lomítka. |
||
ReVolt Profil |
Davex:
tak jsem vyměnil lomítka za pomlčky a mám další problém, když mám url třeba kategorie-5-neco-neco tak je vše ok, ale když třeba kategorie-10-Nove tak mi to háže error 404 ještě dotaz, když má nějaký portál v takovýchhle adresách lomítka, tak to asi používají absolutní url že |
||
Časová prodleva: 11 let
|
0