Zadejte hledaný výraz...

Jak jednoduše vytvořit pěkné URL

Micha
verified
rating uzivatele
2. 7. 2011 18:21:05
Ahoj,
mohli byste mi poradit - v jednom PHP skriptu, jehož nejsem autorem, ale který teď dodělávám, je následující situace:
mějme katalog čehokoliv (např. webů) - skript pracuje pouze s jednou webovou adresou, např. example.com/katalog.php, kde se zobrazuje seznam všech webů. Detail jednoho webu zobrazuje s pomocí parametru - example.com/katalog.php?id=22.
Chtěl bych tuto konstrukci změnit např. na example.com/katalog/nazev-webu?id=22.
Šlo by v htaccess toto nějak udělat? Snažil jsem se to vytvořit sám, ale nedařilo se mi - můj nápad byl udělat v htaccess pravidlo, které pokud najde example.com/katalog/*?id=XX, tak podsune example.com/katalog.php?id=XX ... Dá se to nějak takto vytvořit?
Děkuju za všechny rady
2. 7. 2011 18:21:05
https://webtrh.cz/diskuse/jak-jednoduse-vytvorit-pekne-url#reply651542
P-ierre
verified
rating uzivatele
(43 hodnocení)
2. 7. 2011 18:42:59
Mělo by to jít třeba takhle:
RewriteRule /katalog/(*)?id=(*) katalog.php?id=$2
Problém je v tom, že nikde neověřuješ ten název. Takže když budeš odkazovat na Poctivou firmu, tak na ní půjde jak odkaz example.com/katalog/poctiva-firma?id=22, tak i example.com/katalog/zlodeji?id=22
Takže bych ten tvůj nápad doplnil:
RewriteRule /katalog/(*)?id=(*) katalog.php?nazev=$1&id=$2
A budeš ověřovat shodu jak názvu, tak id.
//Předpokládám, že .htaccess je v rootu a že máš cesty k CSS, Javascriptu a podobným věcem vyřešené absolutně.
2. 7. 2011 18:42:59
https://webtrh.cz/diskuse/jak-jednoduse-vytvorit-pekne-url#reply651541
_Pida_
verified
rating uzivatele
2. 7. 2011 18:45:04
RewriteEngine On
RewriteBase /
RewriteRule ^katalog katalog.php
nebo
RewriteRule ^katalog/(.*)$ katalog.php?id=$1
http://www.google.cz/search?q=htaccess
2. 7. 2011 18:45:04
https://webtrh.cz/diskuse/jak-jednoduse-vytvorit-pekne-url#reply651540
Myslím, že by bylo lepší udělat to stylem
example.cz/katalog/14-microsoft (id a pak name )
to by bylo takhle i s podmínkami :
2. 7. 2011 19:27:34
https://webtrh.cz/diskuse/jak-jednoduse-vytvorit-pekne-url#reply651539
Micha
verified
rating uzivatele
4. 7. 2011 21:49:56
Paráda, mockrát děkuju. Spojil jsem si to s teorií na jakpsatweb a snad jsem pochopil základy.
Na localhostu mi zkoušky na jednoduchých souborech funguje, ale ten skript (plugin) běží na Wordpressu, kde už nějaká pravidla v htaccessu jsou (pro pěkné URL příspěvků a stránek, a ten plugin je právě vložen do jedné stránky):
# BEGIN WordPress
RewriteEngine On
RewriteBase /
##SEM VKLÁDÁM PRAVIDLO
RewriteRule ^index.php$ -
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /index.php
# END WordPress
a při vložení pravidlaRewriteRule ^katalog/(+) katalog&reid=$1
na vyznačené místo wordpress stránku nemůže najít.
Mohli byste mi prosím ještě s tímto poradit? Mockrát děkuju!
EDIT: rozchozeno: byla potřeba podmínka: RewriteCond %{REQUEST_URI} !^/(katalog)
4. 7. 2011 21:49:56
https://webtrh.cz/diskuse/jak-jednoduse-vytvorit-pekne-url#reply651538
Pro odpověď se přihlašte.
Přihlásit