Autor Zpráva
speacker
Profil *
Dobrý den, můžete někdo prosím poradit, jak přesměrovat stránku
www.mojestranka.cz/view.php?kat=kategorie&nadpis=clanek

na

www.mojestranka.cz/kategorie/clanek

V htaccess mám:
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/([a-z0-9_-]+)$
RewriteRule ^(.+)$ /view.php?nadpis=$1
RewriteCond %{REQUEST_URI} !(.*[^/])$
RewriteRule ^(.+)/$ /$1 [R=301,L]

To samozřejmě funguje jen pro www.mojestranka.cz/view.php?nadpis=clanek a změní
se to na www.mojestranka.cz/clanek, ale chtěl bych články rozřadit ještě do
kategorií.

Díky Speacker
Anonymní
Profil *
RewriteRule ^(.+)/^(.+)$ /view.php?kat=$1&nadpis=$2
speacker
Profil *
Už jsem to vyřešil, ale stejně dík
speacker
Profil *
ale teď potřebuju poradit ještě s jednou věcí. potřebuju tam do té adresy přidat ...&id=7, to id pak chci zapisovat do db, ale potřebuju, aby adresa pořád vypadal stejně, tzn. z www.mojestranka.cz/view.php?kat=kategorie&nadpis=clanek&id=7 -> www.mojestranka.cz/kategorie/clanek

ale pořád mi to nechce nějak chodit...
K
Profil *
ale teď potřebuju poradit ještě s jednou věcí. potřebuju tam do té adresy přidat ...&id=7, to id pak chci zapisovat do db, ale potřebuju, aby adresa pořád vypadal stejně, tzn. z www.mojestranka.cz/view.php?kat=kategorie&nadpis=clanek&id=7 -> www.mojestranka.cz/kategorie/clanek


koukni sem:
http://www.jakpsatweb.cz/server/mod_rewrite/mod-rewrite-priklady.html

jinak nejspis asi chces aby kdyz nekdo vleze na view.php?kat=kategorie&nadpis=clanek&id=234
tak aby ho to hodilo na kategorie/clanek/nazev_clanku (napr. clanek/jak_utrhnout_velrybe_stolicku.html).
Na to si skoukni (a nauc) nejakej navod na regularni vyrazy. Dela se to tak ze v tabulce s clankama budes mit sloupec 'rewrite_ulr' (nebo jak si to nazves) a do nej budes vkladat text napr. z nadpisu kterej ale nakym preg_match() zmenis na pouzitelnej nazev. Pak kdyz ti pride to idcko tak si to rewrite_url zjistis a podstrcis ho prohlizeci. Tot vse.
speacker
Profil *
No jak jsem psal nahoře, já mám tento .htaccess:

RewriteEngine on

RewriteCond %{REQUEST_URI} ^/([a-z0-9_-]+)/([a-z0-9_-]+)$
RewriteRule ^(.+)/(.+)$ /view.php?kat=$1&nadpis=$2
RewriteCond %{REQUEST_URI} !(.*[^/])$
RewriteRule ^(.+)/$ /$1 [R=301,L]


a funguje to jen pro view.php?kat=kategorie&nadpis=clanek na kategorie/nadpis

jak jsi psal, tak mám udělaný i ten preg_match, takže se to zbaví diakritiky a slova se spojí pomocí -.
Jenže nevim jak pak vypsat kometáře, které jsem vypisoval WHERE id_clanku= '{$_GET[id]}' jenže teď v adrese žádný id nemám, takže nevim, jakou podminku tam mam dat. Proto jsem potřeboval vědět, jak udělat, abych měl v adreses 3 parametry a vypisovaly se po přepsání pouze 2.
Anonymní
Profil *
najskor co je id=7? asi ID clanku, co?
Pokial tam mas ten nadpis tak to vyberaj podla nadpisu tak ze by si mal v DB este nazov_url, kde by bol uz nazov napisany v tvare toto-je-nazov-clanku-alebo-nadpis
speacker
Profil *
dik, udelal jsem to tak :)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0