Для добавления ЧПУ форумному движку phpBB, необходимо установить расширение phpBB SEO. Но данное расширение не работает с кириллицей и поэтому необходимо внести некоторые изменения для того чтоб расширение начало работать с кириллицей.
Открываем файл ./ext/phpbbseo/usu/core.php
Перед строкой №493
return; }
Добавляем код
// Начало кода - Добавление траслитерации кириллицы в URL
$url_replace = array(
'А' => 'A', 'а' => 'a',
'Б' => 'B', 'б' => 'b',
'В' => 'V', 'в' => 'v',
'Г' => 'G', 'г' => 'g',
'Д' => 'D', 'д' => 'd',
'Е' => 'E', 'е' => 'e',
'Ё' => 'E', 'ё' => 'e',
'Ж' => 'J', 'ж' => 'j',
'З' => 'Z', 'з' => 'z',
'И' => 'I', 'и' => 'i',
'Й' => 'Y', 'й' => 'y',
'К' => 'K', 'к' => 'k',
'Л' => 'L', 'л' => 'l',
'М' => 'M', 'м' => 'm',
'Н' => 'N', 'н' => 'n',
'О' => 'O', 'о' => 'o',
'П' => 'P', 'п' => 'p',
'Р' => 'R', 'р' => 'r',
'С' => 'S', 'с' => 's',
'Т' => 'T', 'т' => 't',
'У' => 'U', 'у' => 'u',
'Ф' => 'F', 'ф' => 'f',
'Х' => 'H', 'х' => 'h',
'Ц' => 'C', 'ц' => 'c',
'Ч' => 'CH', 'ч' => 'ch',
'Ш' => 'SH', 'ш' => 'sh',
'Щ' => 'SHCH', 'щ' => 'shch',
'Ъ' => '', 'ъ' => '',
'Ы' => 'I', 'ы' => 'i',
'Ь' => '', 'ь' => '',
'Э' => 'E', 'э' => 'e',
'Ю' => 'U', 'ю' => 'u',
'Я' => 'YA','я' => 'ya',
'Ա' => 'A','ա' => 'a',
'Բ' => 'B','բ' => 'b',
'Գ' => 'G','գ' => 'g',
'Դ' => 'D','դ' => 'd',
'Ե' => 'E','ե' => 'e',
'Զ' => 'Z','զ' => 'z',
'է' => 'E','է' => 'e',
'Ը' => '','ը' => '',
'Թ' => 'T','թ' => 't',
'Ժ' => 'Zh','ժ' => 'zh',
'Ի' => 'I','ի' => 'i',
'Լ' => 'L','լ' => 'l',
'Խ' => 'Kh','խ' => 'kh',
'Ծ' => 'Ts','ծ' => 'ts',
'Կ' => 'K','կ' => 'k',
'Հ' => 'H','հ' => 'h',
'Ձ' => 'Dz','ձ' => 'dz',
'Ղ' => 'Gh','ղ' => 'gh',
'Ճ' => 'Tch','ճ' => 'tch',
'Մ' => 'M','մ' => 'm',
'Յ' => 'Y','յ' => 'y',
'Ն' => 'N','ն' => 'n',
'Շ' => 'Sh','շ' => 'sh',
'Պ' => 'P','պ' => 'p',
'Ջ' => 'J','ջ' => 'j',
'Ռ' => 'R','ռ' => 'r',
'Ս' => 'S','ս' => 's',
'Վ' => 'V','վ' => 'v',
'Տ' => 'T','տ' => 't',
'Ր' => 'R','ր' => 'r',
'Ց' => 'Ts','ց' => 'ts',
'ՈՒ' => 'U','Ու' => 'U','ու' => 'u',
'Ո' => 'Vo','ո' => 'vo',
'Չ' => 'Ch','չ' => 'ch',
'Փ' => 'P','փ' => 'p',
'Ք' => 'Q','ք' => 'q',
'և' => 'ev','եւ' => 'ev',
'Օ' => 'O','օ' => 'o',
'Ֆ' => 'F','ֆ' => 'f',
);
$this->seo_opt['url_find'] = array_keys($url_replace);
$this->seo_opt['url_replace'] = array_values($url_replace);
// Конец кода - Добавление траслитерации кириллицы в URL
После строки
$url = preg_replace('`\[.*\]`U', '', $url);
Добавляем
$url = str_replace( $this->seo_opt['url_find'], $this->seo_opt['url_replace'], $url );
Сохраняем файл в UTF8 без BOOM.