Autor | Zpráva | ||
---|---|---|---|
pink Profil * |
#1 · Zasláno: 6. 5. 2010, 13:06:39
Dobrý den,
na webu pink.nazory.cz mám několik duplicitních stránek. http://www.pink. nazory.cz/index.php http://pink. nazory.cz http://pink. nazory.cz/index.php Potřeboval bych všechny zde uvedené adresy přesměrovat na jednu jedinou http://www.pink.nazory.cz. Můžete mi poradit, jak to mám udělat? Na jakpsatweb.cz a na internetu jsem přečetl několik návodů, ale nějak se v tom nevyzná,. Proto se obracím na Vás, zda-li byste mi s tím nepomohli. Děkuji |
||
mattyZEM Profil |
#2 · Zasláno: 6. 5. 2010, 13:25:45
Musíš přes htaccess nastavit přesměrování, pokud je před odkazem www, nebo není (to si musíš nastavit dle svého).
#Duplicita www - přesmerovává na verzi s www RewriteCond %{HTTP_HOST} ^pink.nazory.cz RewriteRule (.*) http://www.pink.nazory.cz/ [R=301,L] |
||
pink Profil * |
#3 · Zasláno: 6. 5. 2010, 13:37:11
Zadal jsem do htaccess přesně to co si tady uvedl. Jenže teď když zadám do vyhledávače adresu http://www.pink.nazory.cz web se nezobrazí a ukáže se mi chyba 500..
|
||
Davex Profil |
#4 · Zasláno: 6. 5. 2010, 19:35:24 · Upravil/a: Davex
Na začátku je ještě nutné zapnout používání mod_rewrite a pravidlo bych mírně upravil, aby se měnila doména všem stránkám:
RewriteEngine On RewriteCond %{HTTP_HOST} =pink.nazory.cz RewriteRule ^index\.php|(.*)$ http://www.pink.nazory.cz/$1 [R=301,L] Chyba 500 se ještě může vyskytnout při konfliktu s nějakými současnými pravidly - toto dej na začátek. |
||
pink Profil * |
#5 · Zasláno: 7. 5. 2010, 07:59:27
Teď se mi už web zobrazuje.
Jenže když zadám do adresového řádku http://www.pink.nazory.cz/index.php tak by mě to mělo přesměrovat na adresu http://www.pink.nazory.cz a to se neděje.. |
||
Kajman_ Profil * |
#6 · Zasláno: 7. 5. 2010, 08:40:37
Co si na začátek index.php dát něco takového?
//nechci index.php jen / if (stristr($_SERVER["REQUEST_URI"],'index.php') && (empty($_POST))) { header('HTTP/1.1 301 Moved Permanently'); header("Location: http://".$_SERVER["HTTP_HOST"].str_replace('index.php','',$_SERVER['REQUEST_URI'])); exit; } |
||
pink Profil * |
#7 · Zasláno: 7. 5. 2010, 08:59:51
jo funguje to, jak požaduju. Chtěl jsem to udělat přes mod rewrite, ale tohle je také řešení. Hlavně že se zbavím duplicity stránek. Tohle je univerzální řešení, neboť po zadání adresy http://www.pink.nazory.cz/index.php/?page=video mě to přesměruje na http://www.pink.nazory.cz/?page=video. Takže super. Díky
|
||
pink Profil * |
#8 · Zasláno: 7. 5. 2010, 10:30:52
Ještě jsem si zkoušel hrát z htaccess, abych měl přehlednout adresu. Přesněji abych místo adresy http://www.pink.nazory.cz/?page=video měl adresu http://www.pink.nazory.cz/video
Zkusil jsemtenhle kod, ale nějak mi nefunguje. Mohl bych Vás ještě požádat, koukněte mi na tento zápis, co mám špatně. Díky RewriteBase /adresar RewriteCond %{QUERY_STRING} ^page=([^&]+)$ RewriteRule ^index\.php$ %1.html? [R=301,L] RewriteRule ^([^/]+)\.html index.php?rw=1&page=$1 [L,QSA] |
||
mattyZEM Profil |
#9 · Zasláno: 8. 5. 2010, 18:36:50 · Upravil/a: mattyZEM
RewriteBase /adresar/ RewriteRule ^(.*)$ index.php?page=$1 [L,QSA] Odkaz http://www.pink.nazory.cz/cokoliv odpovídá http://www.pink.nazory.cz/?page=cokoliv |
||
izoo Profil * |
#10 · Zasláno: 10. 5. 2010, 09:51:26
Když přídám do htaccess
writeBase /adresar/ RewriteRule ^(.*)$ index.php?page=$1 [L,QSA] Háže mi to opět chybu 500.. |
||
Kajman_ Profil * |
#11 · Zasláno: 10. 5. 2010, 12:19:47
mattyZEM, izoo:
Nejspíš se to cyklí. pink: Možná by to šlo upravit podobně RewriteEngine On RewriteBase /adresar RewriteCond %{QUERY_STRING} ^page=([^&]+)$ RewriteRule ^index\.php$ %1? [R=301,L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+)$ index.php?rw=1&page=$1 [L,QSA] Ale je lepší, když se v html odkazuje rovnou na /video a index.php by měl umět vracet korektní kód 404 u stránek, které nezná. |
||
pink Profil * |
#12 · Zasláno: 10. 5. 2010, 13:23:48
Zkusil jsem kod od Kajman
RewriteEngine On RewriteBase /adresar RewriteCond %{QUERY_STRING} ^page=([^&]+)$ RewriteRule ^index\.php$ %1? [R=301,L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+)$ index.php?rw=1&page=$1 [L,QSA] žádná změna nenastala. Stále mi to negeneruje přijatelnější adresu dle zadání viz výše. Nemůže to být tak složité.. Jenže nevím.. |
||
Davex Profil |
#13 · Zasláno: 10. 5. 2010, 19:00:01
Máš všechny soubory v adresáři /adresar? Pokud ne, tak musíš správně vyplnit:
RewriteBase / Chceš víc věcí najednou, takže je potřeba více různých pravidel. RewriteEngine On RewriteBase / # přesměrování na variantu s www a odstranění index.php RewriteCond %{HTTP_HOST} =pink.nazory.cz RewriteRule ^index.php|(.*)$ $1 [R=301,L] # přesměrování na URL bez parametru RewriteCond %{QUERY_STRING} ^page=([^&]+)$ RewriteRule ^index\.php|$ %1? [R=301,L] # neexistujícím souborům podstrčit skript index.php RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+)$ index.php?rw=1&page=$1 [L,QSA] |
||
Časová prodleva: 24 dní
|
|||
pink Profil * |
#14 · Zasláno: 3. 6. 2010, 15:21:06
JJ, všem díky. Už jsem skoro vyřešil vše, co jsem požadoval. Poslední věc, chtěl bych ještě přesměrovat http://pink. nazory.cz na http://www.pink. nazory.cz
|
||
Davex Profil |
#15 · Zasláno: 3. 6. 2010, 16:27:53 · Upravil/a: Davex
Měla by stačit drobná oprava:
# přesměrování na variantu s www a odstranění index.php RewriteCond %{HTTP_HOST} =pink.nazory.cz RewriteRule ^index\.php|(.*)$ http://www.pink.nazory.cz/$1 [R=301,L] |
||
Časová prodleva: 14 let
|
0