Autor | Zpráva | ||
---|---|---|---|
Miloš Profil |
#1 · Zasláno: 19. 3. 2011, 21:59:33 · Upravil/a: Miloš
Při předělávání stránek se mi vyskytlo více souborů, které někdo požaduje, ale už neexistují.
Dokud jich bylo málo, řešil jsem to tak, že jsem vytvořil soubor s požadovaným jménem a napsal do něj přesměrování: <?php Header( "HTTP/1.1 301 Moved Permanently" ); Header( "Location: ht>tp://branik.evangnet.cz/" ); ?> Těch souborů ale bude víc a tohle řešení není ideální, zaneřádil bych si tím data. Proto jsem hledal, jak to udělat lépe a jako ideální by bylo přidat do .htaccess následující řádky: Redirect 301 /aboutus.php /g_index.php Redirect 301 /activities.php /g_index.php Redirect 301 /angebot.php /d_index.php Redirect 301 /dkontakt.php /d_index.php Redirect 301 /akce.php ht>tp://branik.evangnet.cz/ Redirect 301 /braniborci.php ht>tp://branik.evangnet.cz/braniborci/ Když jsem to ale vyzkoušel na locale, nefungovalo to. 2) Je to vhodné řešení? Nebo existuje vhodnější? Jaké? Doplňuji: Tak jsem v .htaccess nahradil číslo 301 slovem permanent a funguje to. Druhá otázka ale trvá. |
||
Davex Profil |
#2 · Zasláno: 20. 3. 2011, 00:09:18
Pokud hledáš optimální řešení, tak bych v PHP vytvořil inteligentní chybovou stránku, která by kromě jiného řešila přesměrování zastaralých URL.
Pro začátek můžeš použít mod_rewrite (ale asi bych přesunul stránky v jiných jazykových verzích než češtině do adresářů /en/, /de/): RewriteEngine On RewriteRule ^(aboutus|activities)\.php$ /g_index.php [R=301,L] RewriteRule ^(angebot|dkontakt)\.php$ /d_index.php [R=301,L] RewriteRule ^akce\.php$ http://branik.evangnet.cz/ [R=301,L] RewriteRule ^braniborci\.php$ http://branik.evangnet.cz/braniborci/ [R=301,L] |
||
Miloš Profil |
#3 · Zasláno: 20. 3. 2011, 07:43:26
Jo, chybovka je dobrý nápad, dík za tip.
Rewrite jsem nikdy nepoužival, ale taky eo není špatný nápad. Pokud jde o EN/DE stránky, nejde o překlad celého webu, nýbrž o jednu anglickou a jednu německou stránku (původně byly od každého jazyka 3, ale sloučil jsem je do jedné); původně jsem o adresářích en a de uvažoval, ale nevidím smysluplné dělat adresáře, v nichž bude jen jeden soubor. |
||
Davex Profil |
#4 · Zasláno: 20. 3. 2011, 11:46:27
Miloš:
„původně jsem o adresářích en a de uvažoval, ale nevidím smysluplné dělat adresáře, v nichž bude jen jeden soubor“ Napadlo mě to jako nejkratší a výstižný způsob. Nelíbí se mi g_index.php a d_index.php - lépe vypadají /english.php, /deutsch.php, /en.php, /de.php, /en/, /de/, /en, /de, ... Z tohoto výčtu považuji adresář za optimální, protože nikdy předem nevíš, které další stránky přibudou i s cizojazyčnou verzí a v adresáři se budou lépe udržovat. Kdybys neměl samostatné soubory, ale používal CMS, tak by se k tomu asi přistupovalo jinak. |
||
Miloš Profil |
#5 · Zasláno: 20. 3. 2011, 13:01:12
Asi máš pravdu, ď.
|
||
Časová prodleva: 13 let
|
0