SEO url a .htaccess – Webové servery (Apache, IIS...), .htaccess – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

SEO url a .htaccess – Webové servery (Apache, IIS...), .htaccess – Fórum – Programujte.comSEO url a .htaccess – Webové servery (Apache, IIS...), .htaccess – Fórum – Programujte.com

 

9. 5. 2007   #1
-
0
-

Na svem webu mam dynamicke adresy clanku v tomto tvaru:

http://stoyan.ic.cz/index.php?page=clanky&clanky=netradicni-metoda-nasobeni

Kvuli SEO chci tyto adresy prevet na staticke v tomto tvaru:

http://stoyan.ic.cz/clanek/netradicni-metoda-nasobeni

Proto jsem do .htaccess vlozil toto:

RewriteEngine On

RewriteRule clanek/(.*)$ /index.php?page=clanky&clanky=$1



"Predstirana" adresa funguje ale nejak pochybne, sami se muzete podivat:

http://stoyan.ic.cz/clanek/netradicni-metoda-nasobeni

Pokud ale .htaccess zmenim na toto:

RewriteEngine On

RewriteRule clanek-(.*)$ /index.php?page=clanky&clanky=$1



- misto lomitka za clankem je pomlcka, adresa bude vypadat takto:
http://stoyan.ic.cz/clanek-netradicni-metoda-nasobeni a vse funguje tak jak ma.

Muzete mi tedy prosim poradit, jak udelat aby i adresa ve tvaru http://stoyan.ic.cz/clanek/netradicni-metoda-nasobeni fungovala korektne? Predem dekuji.

Nahlásit jako SPAM
IP: ...–
Marek Štafl0
Stálý člen
16. 5. 2007   #2
-
0
-

Teď jsem to zkoušel, a nefunguje ani jedna - obojí vrací 404.

Nevím, co Ti na tom nejde, ale já jsem s tímhle měl problém třeba se styly. Pokud totiž používáš externí styl (<link...) - jako se asi běžně používá - tak například:
styl máš ve stejném adresáři jako ten index
pokud uděláš "hezkou URL" takhle:
RewriteRule clanek/(.*)$ /index.php?page=clanky&clanky=$1
a máš tam
<link rel="stylesheet" href="styl.css" type="text/css">
prohlížeč si myslí, že se nachází v adresáři clanek/netradicni-metoda-nasobeni/ a v tom samém adresáři taky hledá soubor "styl.css", jenže tento adresář neexistuje.

Já to řeším tak, že "hezké URL" nedělám jako adresáře, ale jako třeba html soubory:
RewriteRule ^clanek/([0-9]+)-.*\.htm /clanek/index.php?id=$1

Doufám, že jsem to napsal tak nějak srozumitelně :)

Nahlásit jako SPAM
IP: ...–
olgo0
Věrný člen
16. 5. 2007   #3
-
0
-

Já to řeším tak, že "hezké URL" nedělám jako adresáře, ale jako třeba html soubory


a co tym ziskas ved je jedno ci je to www.moja_obycajna_url.com/clanky/clanok.php alebo www.moja_cool_url.com/clanky/clanok.html snad jedine ked sa tak zbavis parametrov ale pre lajka je to uplne jedno .html mu neni o nic simpatickejsie ako .php

Nahlásit jako SPAM
IP: ...–
"Boze, dopraj mi, prosim ta, petdesiat rokov prace a zabavy, a potom nahlu smrt v spanku." J. Grisham
Marek Štafl0
Stálý člen
17. 5. 2007   #4
-
0
-

Špatně jsi mě pochopil: ...nedělám jako adresáře, ale jako [podtrzene]třeba[/podtrzene] html soubory!
Nechtěl jsem tím říct, aby dělal jen soubory s příponou HTML, ale pouze, že je jednodušší to nedělat jako adresář.
Tedy rozdíl mezi tímto:
www.moja_cool_url.com/clanky/clanok.html
a tímto:
www.moja_cool_url.com/clanky/clanok/

Tady jde přece o SEO a tak parametry v URL nejsou žádoucí, protože je vyhledávače nemají příliš v lásce.

Jestli jsem ho správně pochopil, tak má celé stránky tvořené jedním souborem (index.php) a v něm má něco jako:

include("./soubory/".$_GET["page"].".php");

v tomhle případě tedy soubory/clanky.php
a v tom souboru clanky.php má třeba (dejme tomu, že články má uložené v databázi, každý s jedinečným názvem - tenhle právě: netradicni-metoda-nasobeni):
$db_dotaz = "SELECT * FROM tabulka WHERE nazev = '".$_GET["clanky"]."'";

Proto ta adresa: stoyan.ic.cz/index.php?page=clanky&clanky=netradicni-metoda-nasobeni.
Jenže takovou adresu vyhledávače neradi indexují, tak z ní chce udělat takovouhle:
stoyan.ic.cz/clanek/netradicni-metoda-nasobeni.
Já mu jen poradil, že jednodušší by bylo udělat takovou:
stoyan.ic.cz/clanek-netradicni-metoda-nasobeni.html
nebo:
stoyan.ic.cz/clanek-netradicni-metoda-nasobeni.php
to už je fuk.
A do .htaccess to zapsat třeba takto:
RewriteEngine On

RewriteRule ^([a-z]*)-(.*)\.html$ /index.php?page=$1&clanky=$2

nebo takto:
RewriteEngine On

RewriteRule ^clanky-(.*)\.html$ /index.php?page=clanky&clanky=$1

Samozřejmě, že to může mít i příponu .php, ale pořád je to "hezká URL" bez šílených parametrů a vyhledávače budou chrochtat blahem.

Nahlásit jako SPAM
IP: ...–
insider0
Věrný člen
17. 5. 2007   #5
-
0
-

To MareX: pro tento problem s css a js soubory je jednoduche reseni



<base href="rootStranky" />

takze kdyz si tam napises naprikald url stranky, tak se ti veskere soubory budou tahat z teto url ;)

To Stoyan:
pouzivam podobny zapis(je obcasne trochu problematicky, ale treba ti to pojede)


RewriteCond %{REQUEST_URI} ^(.*)/clanky/([^/]+)/?$
RewriteRule .* index.php?page=clanky&clanek=%2 [QSA]


nebo jeste trochu jinak


RewriteCond %{REQUEST_URI} ^(.*)/([^/]+)/([^/]+)/?$
RewriteRule .* index.php?page=%2&vec=%3 [QSA]


prosim nekamenovat, asi to neni zrovna nejelegantnejsi a nejlepsi reseni, ale pro me je dostacujici ...

Nahlásit jako SPAM
IP: ...–
I don't want to see you go,[br] The sky is over[br] Even though we can't afford[br] The sky is over,[br] The sky is over us.[br][br] CIVILIZATION IS OVER
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý