Autor | Zpráva | ||
---|---|---|---|
pete Profil |
#1 · Zasláno: 2. 11. 2005, 22:23:11
zdravím,
až donedávna jsem používal adresy s parametry např. domena.tld/?neco=nazev. pak jsem si začal hrát s mod_rewrite a přepsal všechny adresy do tvaru domena.tld/neco/nazev ("neco" jsou různá slova). vrtají mi hlavou lae dvě věci: 1. jak přesměrovat všechny požadavky ze staré adresy domena.tld/?neco=nazev na novou domena.tld/neco/nazev (aby vyhledáváče plynule "najeli" na nové url a nevznikali duplicity)? 2. v případě že si chci "pojistit" to, že roboti nebudou indexovat staré url začínající parametrem, můžu použít v robots.txt tohle: User-agent: * Disallow: /? je to správně, můžu tohle použít? (v případe že bych vyřešil (1), nebudu robots.txt potřebovat) předem díky za rady. |
||
Yuhů Profil |
#2 · Zasláno: 3. 11. 2005, 02:29:02
tohle prosím příště rozděl na dva dotazy.
1. ano, tohle jde, ale není to jednoduché. Musí se to udělat přes mod_rewrite a umí to jenom Kajman. Popis popsal na stránce http://www.jakpsatweb.cz/priklady/mod_rewrite/mod-rewrite-priklady.htm l#dyntostat Zkus to. 2. S otazníkem v robots.txt je problém. Seznam interpretuje specifikaci jinak (také korektně) než ostatní vyhledávače, a tak z adres v robots.txt uřezává otazník a všechno, co je za ním. Zápisem Disallow: /? by se tedy pro Seznam zakázal celý web. Ale i kdyby tohoto problému nebylo, stejně není dobrý nápad prostě to zakázat. Ten hlavní vtip spočívá v tom, že se to prostě musí přesměrovat. |
||
pete Profil |
#3 · Zasláno: 3. 11. 2005, 10:09:26
Díky, pomohlo to!
Ještě jeden dotázek: chtěl i přesměrovat některé "statické" stránky na nové url (kvůli přehledné struktuře), ale nasledující zápis mod_rewrite nefunguje, protože se nejspíš zacyklí: RewriteCond %{REQUEST_URI} /rss.php RewriteRule $ /poznamky/rss [R=301,L] RewriteRule ^poznamky/rss rss.php jak to upravit, aby k tomu nedocházelo? |
||
Kajman Profil * |
#4 · Zasláno: 3. 11. 2005, 11:34:55
Pokud to je jen ten jeden soubor, tak bych ho asi přejmenoval na rss2.php a bylo by po problémech.
RewriteRule ^rss\.php$ /poznamky/rss [R=301,L] RewriteRule ^poznamky/rss$ rss2.php [L] Pokud je třeba nechat název stejný, snad by šlo opět využít pomocného parametru. RewriteCond %{QUERY_STRING} !^rw=1 RewriteRule ^rss\.php$ /poznamky/rss [R=301,L] RewriteRule ^poznamky/rss$ rss.php?rw=1 [L,QSA] |
||
pete Profil |
#5 · Zasláno: 3. 11. 2005, 12:01:36
Díky! To je přesně to, co jsem potřeboval (to druhé).
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0