Autor | Zpráva | ||
---|---|---|---|
Sylar Profil |
#1 · Zasláno: 21. 5. 2011, 23:29:47 · Upravil/a: Sylar
Zdravím,
potřebuji na webu změnit url jedné stránky. chtěl jsem to udělat přes htaccess takto RewriteRule /index.php?page=seo-optimalizace http://www.becorp.cz/optimalizace-pro-vyhledavace-seo/ [R=301] nebo takto RewriteRule /seo-optimalizace/ http://www.becorp.cz/optimalizace-pro-vyhledavace-seo/ [R=301] ale stránka tento zápis ignoruje, stránku nepřesměruje a protože stránka /seo-optimalizace/ už nefunguje tak hodí 404ku. mohl by mi někdo poradit čím to je? toto je celý htaccess RewriteEngine On RewriteBase / # doplnění zpětného lomítka RewriteCond %{REQUEST_URI} !\.[[:alnum:]]+$ RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ %{REQUEST_URI}/ [R=301,L] # přesměrování na www RewriteCond %{HTTP_HOST} ^becorp.cz RewriteRule (.*) http://www.becorp.cz/$1 [R=301,QSA,L] # cool URL - page RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+)/?$ ?page=$1 [QSA] RewriteRule /index.php?page=seo-optimalizace http://www.becorp.cz/ [R=301] // edit: na webu je nyní stránka /seo-optimalizace/ funkční, změnil jsem to zpět, než tento problém vyřeším |
||
Kajman_ Profil * |
#2 · Zasláno: 22. 5. 2011, 21:25:59
Bude to úvodním lomítkem, které při zpracování souborů v .htaccess není (naopak je tuším v pravidlech dávaných přímo do konfigurace apache).
|
||
Sylar Profil |
#3 · Zasláno: 23. 5. 2011, 00:46:25
Kajman:
odstranil jsem úvodní zpětné lomítko, ale stále mi to na stránce hodí 404ku, namísto přesměrování. upravil jsem htaccess a url stránek, aby ses na to mohl příp. kouknout i na stránce. Nyní by se tedy url www.becorp.cz/optimalizace-pro-vyhledavace-seo měla přesměrovat na http://www.becorp.cz/seo-optimalizace , jenže co se nestane Zkouším v htaccessu jak cool adresy, tak s viditelnými parametry (viz. ukázka níže), přehazovat je mezi ostatními částmi, jestli se náhodou navzájem neovliŇují, ale stále nic. prostě stránka toto přesměrování ignoruje. RewriteEngine On RewriteBase / Redirect 301 index.php?page=optimalizace-pro-vyhledavace-seo http://www.becorp.cz/seo-optimalizace/ # doplnění zpětného lomítka RewriteCond %{REQUEST_URI} !\.[[:alnum:]]+$ RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ %{REQUEST_URI}/ [R=301,L] # přesměrování na www RewriteCond %{HTTP_HOST} ^becorp.cz RewriteRule (.*) http://www.becorp.cz/$1 [R=301,QSA,L] # cool URL - page RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+)/?$ ?page=$1 [QSA] |
||
Kajman_ Profil * |
#4 · Zasláno: 23. 5. 2011, 09:12:21
Sylar:
„Nyní by se tedy url w>ww.becorp.cz/optimalizace-pro-vyhledavace-seo měla přesměrovat na ht>tp://w>ww.becorp.cz/seo-optimalizace“ Žádné takové pravidlo tam nemáte. Na začátek pravidel zkuste dát. RewriteBase / RewriteRule ^optimalizace-pro-vyhledavace-seo/?$ seo-optimalizace/ [R=302,L] |
||
Sylar Profil |
#5 · Zasláno: 23. 5. 2011, 12:37:29
Kajman:
aha aha, ten váš zápis funguje, díky. ale přesto se musím zeptat. co tedy dělá tohle? Redirect 301 index.php?page=optimalizace-pro-vyhledavace-seo http://www.becorp.cz/seo-optimalizace/[/pre] |
||
Kajman_ Profil * |
#6 · Zasláno: 23. 5. 2011, 13:51:30
Myslím, že redirect nepodporuje testování query stringu.
L značí ukončení aktuálního projíždění pravidel. 302 je lepší pro ladění. |
||
Časová prodleva: 13 let
|
0