Autor | Zpráva | ||
---|---|---|---|
jirkaK Profil * |
#1 · Zasláno: 7. 10. 2009, 11:02:24
Potřebuji nastavit htaccess, aby se web choval takto:
1) 301 přesměrování z domény nhopatovice.cz na www.nhopatovice.cz 2) zachování SEO adres: např.: www.nhopatovice.cz/novinky.html, www.nhopatovice.cz/navstevni-kniha.html, www.nhopatovice.cz/vysledky/sezona-2009-2010/muzi-a.html 3) 301 přesměrování z adres nekončících .html např.: www.nhopatovice.cz/novinky na www.nhopatovice.cz/novinky.html htaccess zatím obsahuje toto (mám zakomentované dva řádky, které by se právě meli starat o přesměrování z domény bez www na s www): Options +FollowSymLinks AddDefaultCharset UTF-8 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l # Administration URL rewriting. RewriteRule ^admin(.*)$ admin/index.php?$1 [L,QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l # Main URL rewriting. #RewriteCond %{HTTP_HOST} ^nhopatovice\.cz [NC] #RewriteRule (.*) http://www.nhopatovice.cz/$1 [R=301,QSA] RewriteRule ^(.*)$ index.php?$1 [QSA,L] </IfModule> Problém je ten, že jsem zkoušel za pomocí několika návodů nastavit funkčnost takovou, jako popisuji výše, ale nepodařilo se to. Nejblíž jsem byl, když se správně doména přesměrovávala na adresu s www, ale před adresu stránky se mě cpal "?" (www.nhopatovice.cz/?novinky) a nebyl jsem schopný se ho zbavit. Přesměrování na adresy končící vždy html už vůbec ne. Víte jak na to? |
||
Joker Profil |
#2 · Zasláno: 7. 10. 2009, 13:36:25
jirkaK:
„Problém je ten, že jsem zkoušel za pomocí několika návodů nastavit funkčnost takovou, jako popisuji výše, ale nepodařilo se to.“ Tak sem hoďte nějaký z těch pokusů. Jak máme jinak vědět, co v nich bylo špatně? |
||
jirkaK Profil * |
#3 · Zasláno: 7. 10. 2009, 13:51:18
„Tak sem hoďte nějaký z těch pokusů.
Jak máme jinak vědět, co v nich bylo špatně?“ takže první příklad: Options +FollowSymLinks AddDefaultCharset UTF-8 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l # Administration URL rewriting. RewriteRule ^admin(.*)$ admin/index.php?$1 [L,QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l # Main URL rewriting. RewriteRule ^(.*) index.php?$1 [QSA] RewriteCond %{HTTP_HOST} ^nhopatovice\.cz [NC] RewriteRule (.*) http://www.nhopatovice.cz/$1 [R=301,QSA] </IfModule> chová se to následovně: - zadám do prohlížeče nhopatovice.cz přesměruje na www.nhopatovice.cz (to je ok) - zadám do prohlížeče nhopatovice.cz/tabulky.html přesměruje na www.nhopatovice.cz/index.php?tabulky.html (má být www.nhopatovice.cz/tabulky.html) - zadám... nhopatovice.cz/tabulky/sezona-2009-2010.html --> http://www.nhopatovice.cz/index.php/sezona-2009-2010.html?tabulky/sezona-2009-2010.html (má být www.nhopatovice.cz/tabulky/sezona-2009-2010.html) |
||
Joker Profil |
#4 · Zasláno: 7. 10. 2009, 14:13:20
jirkaK:
Aha, tak problém spočívá v tom, že se nejdřív uplatní to přepsání na index.php?adresa a potom přesměrování na tvar s "www." Zkuste přesměrování na tvar s "www." (řádek 23-24) dát na začátek a přidat parametr L. |
||
jirkaK Profil * |
#5 · Zasláno: 7. 10. 2009, 14:24:43
„Zkuste přesměrování na tvar s "www." (řádek 23-24) dát na začátek a přidat parametr L.“
Options +FollowSymLinks AddDefaultCharset UTF-8 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l # Administration URL rewriting. RewriteRule ^admin(.*)$ admin/index.php?$1 [L,QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l # Main URL rewriting. RewriteCond %{HTTP_HOST} ^nhopatovice\.cz [NC] RewriteRule (.*) http://www.nhopatovice.cz/$1 [R=301,QSA,L] RewriteRule ^(.*) index.php?$1 [QSA] </IfModule> vyhodí 404 stránka nenalezena + odpálí css, ale to by nebyl problém (mohl bych ho zapsat absolutní cestou) |
||
Kajman_ Profil * |
#6 · Zasláno: 7. 10. 2009, 14:28:06
Dát na začátek a posunout o jeden řádek nahoru není to samé. Zkuste to dát na začátek - tedy hned za RewriteEngine on nebo rewritebase.
|
||
jirkaK Profil * |
#7 · Zasláno: 7. 10. 2009, 14:32:02
„Dát na začátek a posunout o jeden řádek nahoru není to samé. Zkuste to dát na začátek - tedy hned za RewriteEngine on nebo rewritebase.“
díky, tady byl zapokaný pes :) Takže teď mě funguje přesměrování z adres bez www na adresy včetně www. Teď potřebuji vymyslet, jak přesměrovat adresy nekončící .html na končící .html (www.nhopatovice.cz/novinky ->www.nhopatovice.cz/novinky.html) |
||
Časová prodleva: 15 let
|
0