Takže asi první bod kterým začneme je, udělat si funkci která nám překonvertuje daný text do textu bez diakritiky a bez velkých písmen. Zde máme funkci seoname která nám toto vykoná:
function seoname($nazev) { $preved = str_replace( array("á","č","ď","é","ě","í","ľ","ň","ó","ř","š","ť","ú","ů","ý", "ž","Á","Č","Ď","É","Ě","Í","Ľ","Ň","Ó","Ř","Š","Ť","Ú","Ů","Ý","Ž") , array("a","c","d","e","e","i","l","n","o","r","s","t","u","u","y", "z","A","C","D","E","E","I","L","N","O","R","S","T","U","U","Y","Z") , $nazev); $preved = str_replace('=',' ',$preved); $preved = str_replace('/',' ',$preved); $preved = str_replace('\\',' ',$preved); $preved = str_replace('@',' ',$preved); $preved = str_replace('~',' ',$preved); $preved = str_replace('!',' ',$preved); $preved = str_replace('£',' ',$preved); $preved = str_replace('$',' ',$preved); $preved = str_replace('%',' ',$preved); $preved = str_replace('^',' ',$preved); $preved = str_replace('*',' ',$preved); $preved = str_replace('_',' ',$preved); $preved = str_replace('{',' ',$preved); $preved = str_replace('}',' ',$preved); $preved = str_replace('[',' ',$preved); $preved = str_replace(']',' ',$preved); $preved = str_replace('-',' ',$preved); $preved = str_replace(' & ',' ',$preved); $preved = str_replace('"',' ',$preved); $preved = str_replace('.',' ',$preved); $preved = str_replace('\'',' ',$preved); $preved = str_replace(',',' ',$preved); $preved = str_replace(' ','-',$preved); $preved = str_replace(' ','-',$preved); $preved = str_replace(' ','-',$preved); $preved = str_replace(':','',$preved); $preved = str_replace('#','',$preved); $preved = str_replace('(','',$preved); $preved = str_replace(')','',$preved); $preved = str_replace('–','-',$preved); $preved = str_replace('---','-',$preved); $preved = str_replace('--','-',$preved); $preved = strtolower($preved); return $preved; }
Tady tuto funkci si uložte do souboru seoname.php který uložíte do složky includes. Takže teď jsme zvládli vytvořit tuto funkci a uložit. Teď ji musíme někde includovat. Proto si otevřete soubory header.php, admin_header.php a admin_header_mce.php ve složce root/themes/templates/. Na začátku kódu máte vždy includovány nějaké soubory. Pod to vložíme tento kód do každého vyjmenovaného souboru.
include INCLUDES."seoname.php";
Máme hotovo a rovnou se můžeme vrhnout na soubor .htaccess. Vytvořte tento soubor a vložte do něj následující kód:
## Umístění PHP-Fusion RewriteBase /
## Zapnuto přepisování odkazů
RewriteEngine On
## Převede adresu do tvaru www.domena.tld
RewriteCond %{HTTP_HOST} ^domena\.tld [nc] RewriteRule (.*) http://www.domena.tld/$1 [R=301,L]
## Základní adresy RewriteRule ^novinky\.html$ news.php [N]
## Další adresy RewriteRule ^(.*)-u([0-9]*)\.html$ profile.php?lookup=$2 [L]
Zde máme vysvětlení: ^ tento znak znamená začátek zápisu, (.*) toto zase zanemná, že zde může být cokoliv tedy jakékoliv čísla i písmena, ([0-9]*) zde můžete mít jakékoliv číslo tedy u nás to bude znamenat ID, $ tento znak znamená ukončení zápisu, $2 tímto ukončíme zápis a ta dvojka znamená že je nakonci lookup ID tedy číslo takže ta dvojka znamená číslo závorky takže první je závorka kde může být vše a druhá je jen na čísla.
Takže .htaccess máme a teď už na nás čeká jen upravování souborů na tyto odkazy. Uvedu příklad na profilu základním v PHP-Fusionu. Je tam kód asi takovej:
<a href='".BASEDIR."profile.php?lookup=".$data['user_id']."' title='".data['user_name']."'>".data['user_name']."</a>
My ale toto předěláme na tento kód:
<a href='".BASEDIR.seoname($data['user_name'])."-u".data['user_id'].".html' title='".data['user_name']."'>".data['user_name']."</a>
BASEDIR nás přesměruje do indexu stránky a funkce seoname nám převede nick uživatele třeba Xer0 na xer0. -u je jakékoliv označení tedy u jako uživatel. Za ním nálseduje kód na ID uživatele podle kterého se vše orientuje a za ním již koncovka *.html.
Toto je snad ode mne vše takže jakékoliv dotazy pište do fóra :)
|