Autor Zpráva
Miloš
Profil
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: http://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 http://branik.evangnet.cz/
Redirect 301 /braniborci.php http://branik.evangnet.cz/braniborci/


Když jsem to ale vyzkoušel na locale, nefungovalo to.
1) Jak to zprovoznit?
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
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
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
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
Asi máš pravdu, ď.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: