Autor | Zpráva | ||
---|---|---|---|
killer Profil |
#1 · Zasláno: 28. 6. 2007, 14:25:44
Pls kde mám chybu, chci aby ze stránky:
neco.cz/index.php?id=nejaka-stranka to předělalo na: neco.cz/nejaka-stranka.html -------------- kde je chyba?? RewriteEngine On RewriteRule ^(.*).html$ /index.php?id=$1 [L,QSA] pořád to předělává na neco.cz/?id=nejaka-stranka ------- dik |
||
Ok3y Profil |
#2 · Zasláno: 28. 6. 2007, 15:23:56
a zkousel si dat do prohlizece neco.cz/nejaka-stranka.html ?
|
||
killer Profil |
#3 · Zasláno: 28. 6. 2007, 15:27:17
jj zkoušel, funguje to, ale funguje i stará adresa
|
||
Petr Tichý Profil |
#4 · Zasláno: 28. 6. 2007, 15:42:06
killer
To je v tomto případě normální. Zdá se, že nechápeš mod_rewrite v principu. Buď si něco přečti, nebo jen přepiš všechny odkazy do nového tvaru a zapomeň na to. |
||
Joker Profil |
#5 · Zasláno: 28. 6. 2007, 16:09:19
killer
funguje to, ale funguje i stará adresa No a? To je správně. |
||
killer Profil |
#6 · Zasláno: 28. 6. 2007, 16:32:25
ale bude duplicitní obsah ne?
|
||
Joker Profil |
#7 · Zasláno: 28. 6. 2007, 16:37:41
Jo, mimochodem, ten zápis mod_rewrite dělá přesný opak toho, co je v prvním příspěvku napsáno, tj.
ne "neco.cz/index.php?id=nejaka-stranka mění na neco.cz/nejaka-stranka.html" ale "neco.cz/nejaka-stranka.html mění na neco.cz/index.php?id=nejaka-stranka" Obsah duplicitní nebude, pokud všechny adresy budou "po novu", tak se na ten starý nikdo nedostane ;-) |
||
Joker Profil |
#8 · Zasláno: 28. 6. 2007, 16:39:00 · Upravil/a: Joker
Oprava vyjádření: Na ten starý obsah se teda dostane někdo po zadání původní adresy, ale vyhledávače se na něj nedostanou (nebudou mít odkazy), takže to bude jedno.
edit: Existující staré odkazy se dají řešit např. změnou z index.php?id=neco třeba na index.php?page=neco a to staré by přesměrovávalo. |
||
Petr Tichý Profil |
#9 · Zasláno: 28. 6. 2007, 16:47:57
Myslím, že jeden chytrý řádek v .htaccess by mohl všechny staré adresy přesměrovávan 301čkou na nové.
|
||
Joker Profil |
#10 · Zasláno: 28. 6. 2007, 16:52:56
Petr Tichý
Myslím, že jeden chytrý řádek v .htaccess by mohl všechny staré adresy přesměrovávan 301čkou na nové. Akorát je otázka, jestli to neskončí nekonečným cyklem, respektive internal server error. |
||
killer Profil |
#11 · Zasláno: 28. 6. 2007, 16:55:59
Joker když to teda mám opačně, jak je to správně?
|
||
Petr Tichý Profil |
#12 · Zasláno: 28. 6. 2007, 17:06:28
Joker
Řekl bych, že jedno z těch písmenek na konci pravidla (v hranatách závorkách) znamená poslední "přesměrování", takže by to snad mělo jít ošetřit. killer Nic nedávej opačně. Pravidla máš napsaná správně, jen si se špatně vyjádřil, protože tomu nerozumíš. A já ti znovu říkám, podívej se na http://www.jakpsatweb.cz/server/htaccess.html |
||
Joker Profil |
#13 · Zasláno: 28. 6. 2007, 18:06:16
killer
mod_rewrite je dobře, jen v tom příspěvku je to špatně napsané ;-) Petr Tichý Je možné, že to půjde, jen si pamatuju, že se mi povedlo se do podobného problému dostat (vytvoření nekonečného cyklu přesměrování). |
||
Kajman_ Profil * |
#14 · Zasláno: 29. 6. 2007, 14:50:38
RewriteEngine On
RewriteBase / RewriteCond %{QUERY_STRING} ^id=([^&]+)$ RewriteRule ^index.php$ %1.html? [R=301,L] RewriteRule ^([^/]+).html index.php?rw=1&id=$1 [L,QSA] |
||
Časová prodleva: 17 let
|
0