PDA

View Full Version : Mod rewrite, pretty URLs and diacritics


postcd
04-13-2014, 12:40 PM
Hi,

my forum is in czech language, so for example there is a topic named
"Přiv?dělek"
And the vBulletin with vBSEO makes this URL: /f17/p-ivyd-lek-121/

which is definatelly NOT pretty :)

The vBSEO is used:
"Current Preset: 002 - Hierarchic directory type URLs with content relevant threads (used at www.vBSEO.com)"

The public_html/vbseo/resources/xml/vbseo_urls_002.xml: rules:
http://pastebin.com/118CfNEB

Example:

<setting>
<name>VBSEO_URL_THREAD</name>
<value>f%forum_id%/%thread_title%-%thread_id%/</value>
</setting>

i found php replacement rule on net:
$text = str_replace(array("ř", "ž", "š", "č"), array("r", "z", "s", "c"), $text);
$text = iconv('UTF-8', 'US-ASCII//TRANSLIT', $text);

This is file where need to be done replacements maybe (public_html/vbseo/includes/functions_vbseo_url.php):
function vbseo_prep_format_replacements($foreignchars, $spacer, $morechars)
{
if ($foreignchars == 0)
{
$validchars = '\S';
$validset = '[^/]';
}
else
if ($foreignchars == 1)
{
$validchars = 'a-z\._';
$validset = '[' . $validchars . 'A-Z\d-]';
}
else
{
$validchars = 'a-z\._\\' . $spacer . 'ŠŽšžŸ???????????????????????????????????????????? ????????????';
$validset = '[' . $validchars . 'A-Z\d-]';
}
$replace = array(
'#%attachment_id%#' => '([dt\d]+)',
'#%picture_id%#' => '([dt\d]+)',
'#%[a-z_]+_id%#' => '(\d+)',
'#%year%#' => '(\d+)',
'#%month%#' => '(\d+)',
'#%day%#' => '(\d+)',
'#%[a-z_]+_path%#' => '([' . $validchars . 'A-Z\d/-]+)',
'#%[a-z_]+_filename%#' => '(.+)',
'#%tag%#' => '(.+)',
'#%(album|group)_title%#' => '([^/]+)',
'#%[a-z_]+_name%#' => '([^/]+)',
'#%[a-z_]+_title%#' => '(' . $validset . '+)',
'#%[a-z_]+_ext%#' => '([^/]+)',
'#%post_count%#' => '(\d*?)',
'#%letter%#' => '([a-z]|0|all)',
'#%[a-z_]*page%#' => '(\d+)',
'#%[a-z_]+%#' => '(' . $validset . ')+',
);
return $replace;
}

and

$trarr_table
),
'????ŠŽšžYA??A?A?E?E?I??INO??O?OU?U??a??a?a?e?e?i? ?ino??o?ou?u??y?',
'rreeszszyaaaaaaceeeeiiiinoooooouuuuyaaaaaaceeeeii iinoooooouuuuyyu'
);

do you see ?? ?? i tried to add ŘřĚě
It is because my cPanel assign Windows-1252 encoding to a file, even i edited it in Windows PHP editor and assigned Windows-1250 (proper), does it mean my cpanel dont support it and its cpanel issue?

Please any idea how to edit?

----
UPDATE: i went around this obstacle from my vbseo control panel: Admincp/vbseo/general settings/relevant replacements
adding like:
replacements like http://pastebin.com/NE6J2yD9
values based on this article (http://webdesign.about.com/od/localization/l/blhtmlcodes-cz.htm) . its poor solution, but i dont know about better one?

final kaoss
04-13-2014, 02:03 PM
vbseo is no more. I would suggest you install the free to use dbseo and ask their team for support, it is actively updated on a regular basis and I'm sure they would be able to fix you up.

https://vborg.vbsupport.ru/showthread.php?t=308615&page=11