Clean URL

Andere Lösungen
Maxim
Posts: 95
Joined: Sat 19. Jan 2013, 13:28
Location: Запорожье
Contact:

Clean URL

Postby Maxim » Mon 21. Jan 2013, 11:55

Image
Hallo.
Zeigen Sie, wie Sie erstellen Clean URL?
Von:
http://mysite.com/?Test_1___Test_2___Test_3

Erstellen:
http://mysite.com/Test_1/Test_2/Test_3.html

Vielen Dank.

Image
Hello.
Tell me how to create a Friendly URL?
From:
http://mysite.com/?Test_1___Test_2___Test_3

Create:
http://mysite.com/Test_1/Test_2/Test_3.html

Thanks.

Image
Здравствуйте.
Подскажите, как создать ЧПУ (Человекопонятный URL)
Из:
http://mysite.com/?Test_1___Test_2___Test_3

Создать:
http://mysite.com/Test_1/Test_2/Test_3.html

Спасибо.
Last edited by Maxim on Thu 24. Jan 2013, 05:40, edited 1 time in total.

Gert
Posts: 1091
Joined: Sun 18. Nov 2012, 14:18

Re: Clean URL

Postby Gert » Mon 21. Jan 2013, 15:37

Hallo Maxim,

eine "Clean URL" Funktion gibt es nicht bei CMSimple. Wozu auch?

"mysite.com/?Test_1___Test_2___Test_3" ist genauso gut wie "mysite.com/Test_1/Test_2/Test_3.html", sowohl für Menschen als auch für Suchmaschinen.

Es ist nicht notwendig und auch nicht geplant.

Du kannst aber in der Konfiguration unter URI => Seperator das "___" gegen ein "/" austauschen. Dann funktionieren aber manche Links (z. B. von facebook) nicht mehr. Deshalb habe ich "___" als Trenner eingeführt,

Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services

Maxim
Posts: 95
Joined: Sat 19. Jan 2013, 13:28
Location: Запорожье
Contact:

Traurig

Postby Maxim » Mon 21. Jan 2013, 15:47

Image
Es ist nicht geplant

Traurig.
Über "Seperator" - ich weiß.

Image
It is not planned

Sadly.
About "Seperator" - i know.

Image
Не планируется

Печально.
Про "Seperator" - знаю.

Maxim
Posts: 95
Joined: Sat 19. Jan 2013, 13:28
Location: Запорожье
Contact:

Re: Clean URL

Postby Maxim » Fri 17. May 2013, 08:08

cmb
Есть способ, чтобы был "человекопонятный урл":
http://cmsimpleforum.com/viewtopic.php?f=4&t=5719

Вы можете увидеть его в действии:
http://www.waschitza.de/


Максим
Image
Здравствуйте.
Спасибо, про этот адрес я знаю, он у меня здесь:
http://maxim.zp.ua/forum/thread10.html

Но:
1. У этой модификации нет - ".html":
http://mysite.com/Test_1/Test_2/Test_3.html
2. Это ведь модификация, а не сразу от разработчика и нужно после каждого обновления делать корректировки и немало, а Герт быстрый - обновления выходят часто.

Image
Hello.
Thank you, about this link I know, I have it here:
http://maxim.zp.ua/forum/thread10.html

But:
1. With this modification, no - ".html":
http://mysite.com/Test_1/Test_2/Test_3.html
2. This is a modification, rather than directly from the developer and need after each update do the adjustments and a lot, and Gert fast - updates come out often.


Original:
http://maxim.zp.ua/forum/thread9-1.html

Gert
Posts: 1091
Joined: Sun 18. Nov 2012, 14:18

Re: Clean URL

Postby Gert » Fri 17. May 2013, 11:23

Hello Maxim,

please discuss it with Christoph in the CMSimple_XH forum:

http://cmsimpleforum.com

"Clean URLs" are not on the roadmap of CMSimple,

Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services

Maxim
Posts: 95
Joined: Sat 19. Jan 2013, 13:28
Location: Запорожье
Contact:

Re: Clean URL

Postby Maxim » Fri 17. May 2013, 11:46

Image
Ладно, вероятно вы не дружите.

Image
Okay, you probably do not be friends.

Gert
Posts: 1091
Joined: Sun 18. Nov 2012, 14:18

Re: Clean URL

Postby Gert » Fri 17. May 2013, 11:51

Maxim wrote:Okay, you probably do not be friends.

You have understood right ;)

Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services

Maxim
Posts: 95
Joined: Sat 19. Jan 2013, 13:28
Location: Запорожье
Contact:

Re: Clean URL

Postby Maxim » Fri 17. May 2013, 12:20

Image
Так подружитесь.
Дружба лучше чем вражда.
Хотя и не всегда.

Image
So make friends.
Friendship is better than hostility.
Although not always.

Maxim
Posts: 95
Joined: Sat 19. Jan 2013, 13:28
Location: Запорожье
Contact:

Re: Clean URL

Postby Maxim » Mon 1. Jul 2013, 12:54

Здравствуйте.
Image Создал сбору "CMSimple_42_CleanURLs" и обновление "Update_CMSimple_42_CleanURLs"
http://maxim.zp.ua/users/2/files.html

Hello.
Image Created collection "CMSimple_42_CleanURLs" and update "Update_CMSimple_42_CleanURLs"
http://maxim.zp.ua/users/2/files.html

Maxim
Posts: 95
Joined: Sat 19. Jan 2013, 13:28
Location: Запорожье
Contact:

Чтоб не потерять, размещу здесь

Postby Maxim » Tue 2. Jul 2013, 09:52

Во всех файлах, которые менял в папке cmsimple/
3-я строка

Code: Select all

/*
==================================================
File modified by addon CleanURLs for CMSimple
Released: 2013-08-01
URL: http://maxim.zp.ua/users/2/files.html
==================================================
*/

// Original System Info:


cmsimple/cms.php
70-я строка

Code: Select all

// version-informations
define('CMSIMPLE_XH_VERSION', 'CMSimple 4.2.2 with CleanURLs Addon'); //for compatibility CMSimple_XH
define('CMSIMPLE_XH_BUILD', 2013080101); //for compatibility CMSimple_XH
define('CMSIMPLE_XH_DATE', '2013-08-01'); //for compatibility CMSimple_XH

define('CMSIMPLE_VERSION', 'CMSimple 4.2.2 with CleanURLs Addon');
define('CMSIMPLE_RELEASE', 2013080101);
define('CMSIMPLE_DATE', '2013-08-01');
define('CMSIMPLE_VERSIONSINFO', 'http://www.cmsimple.org/downloads_cmsimple40/versioninfo/version.nfo');
//END version-informations

Оригинал

Code: Select all

// version-informations
define('CMSIMPLE_XH_VERSION', 'CMSimple 4.2.2'); //for compatibility CMSimple_XH
define('CMSIMPLE_XH_BUILD', 2013071201); //for compatibility CMSimple_XH
define('CMSIMPLE_XH_DATE', '2013-07-12'); //for compatibility CMSimple_XH

define('CMSIMPLE_VERSION', 'CMSimple 4.2.2');
define('CMSIMPLE_RELEASE', 2013071201);
define('CMSIMPLE_DATE', '2013-07-12');
define('CMSIMPLE_VERSIONSINFO', 'http://www.cmsimple.org/downloads_cmsimple40/versioninfo/version.nfo');
//END version-informations


Оставил как есть, разместил здесь, чтобы не забыть
cmsimple/cms.php
123-я строка

Code: Select all

$subsite_folder = str_replace(CMSIMPLE_ROOT, '', $_SERVER['SCRIPT_NAME']);

Оригинал

Code: Select all

$subsite_folder = str_replace(CMSIMPLE_ROOT, '', $_SERVER['SCRIPT_NAME']);


cmsimple/cms.php
251-я строка

Code: Select all

$sn = preg_replace('/index.php$/', '', $_SERVER['SCRIPT_NAME']);

Оригинал

Code: Select all

$sn = preg_replace('/([^\?]*)\?.*/', '\1', sv(($iis ? 'SCRIPT_NAME' : 'REQUEST_URI')));


cmsimple/cms.php
275-я строка

Code: Select all

$su = substr($su, 0, $cf['uri']['length']);

foreach (array('login', 'mailform', 'print', 'sitemap') as $i) {
    if (!empty($GLOBALS[uenc($tx['menu'][$i])])) {
        $$i = 'true';
    }
}

Оригинал

Code: Select all

$su = substr($su, 0, $cf['uri']['length']);


В XH нет, ссылки в версии для печати
cmsimple/cms.php
485-я строка

Code: Select all

<p><b>URL:</b> <a href="' . $sn . '' . str_replace('&print','',$_SERVER['QUERY_STRING']) . '.html">' . $_SERVER['SERVER_NAME'] . $sn . '' . str_replace('&print','',$_SERVER['QUERY_STRING']) . '.html</a></p>

Оригинал

Code: Select all

<p><b>URL:</b> <a href="' . $sn . '?' . str_replace('&print','',$_SERVER['QUERY_STRING']) . '">' . $_SERVER['SERVER_NAME'] . $sn . '?' . str_replace('&print','',$_SERVER['QUERY_STRING']) . '</a></p>


cmsimple/functions.php
565-я строка

Code: Select all

function a($i, $x)
{
    global $sn, $u, $cf, $adm;
    if ($i == 0 && !$adm) {
        if ($x == '' && $cf['locator']['show_homepage'] == 'true')
      {
            return '<a href="' . $sn . $u[0] . '.html">';
        }
    }
    return isset($u[$i]) ? '<a href="' . $sn . $u[$i] . '.html' . (!empty($x) ? '?' . $x : '') . '">' : '<a href="' . $sn . '.html' . (!empty($x) ? '?' . $x : '') . '">';
}

Оригинал

Code: Select all

function a($i, $x)
{
    global $sn, $u, $cf, $adm;
    if ($i == 0 && !$adm) {
        if ($x == '' && $cf['locator']['show_homepage'] == 'true')
      {
            return '<a href="' . $sn . '?' . $u[0] . '">';
        }
    }
    return isset($u[$i]) ? '<a href="' . $sn . '?' . $u[$i] . $x . '">' : '<a href="' . $sn . '?' . $x . '">';
}


cmsimple/functions.php
585-я строка

Code: Select all

function ml($i)
{
    global $f, $sn, $tx;
    $t = '';
    if ($f != $i)
        $t .= '<a href="' . $sn . '' . uenc($tx['menu'][$i]) . '.html">';
    $t .= $tx['menu'][$i];
    if ($f != $i)
        $t .= '</a>';
    return $t;
}

Оригинал

Code: Select all

function ml($i)
{
    global $f, $sn, $tx;
    $t = '';
    if ($f != $i)
        $t .= '<a href="' . $sn . '?' . amp() . $i . '">';
    $t .= $tx['menu'][$i];
    if ($f != $i)
        $t .= '</a>';
    return $t;
}


Меняем "_" на "-" и добавляем запятую в исключение
cmsimple/functions.php
597-я строка

Code: Select all

function uenc($s)
{
    global $tx;
    if (isset($tx['urichar']['org']) && isset($tx['urichar']['new']))
        $s = str_replace(explode(",", $tx['urichar']['org']), explode(",", $tx['urichar']['new']), $s);
      $s = str_replace(',', '', $s); // this is the new line
    return str_replace('+', '-', urlencode($s)); // here the space is replaced
}

Оригинал

Code: Select all

function uenc($s)
{
    global $tx;
    if (isset($tx['urichar']['org']) && isset($tx['urichar']['new']))
        $s = str_replace(explode(",", $tx['urichar']['org']), explode(",", $tx['urichar']['new']), $s);
    return str_replace('+', '_', urlencode($s));
}


Перед "return" добавить "global $sn;..."
cmsimple/functions.php
814-я строка

Code: Select all

function head()
{
    global $title, $cf, $pth, $tx, $sn, $hjs;
    $t = htmlspecialchars($cf['site']['title'], ENT_COMPAT, 'UTF-8');
    if (!empty($t) && !empty($title))
    {
        $t .= ' - ';
    }
    $t .= $title;
    $t = '<title>' . strip_tags($t) . '</title>' . "\n";
    foreach ($cf['meta'] as $i => $k)
   {
        $t .= meta($i);
   }

   if(file_exists('./favicon.ico'))
   {
      $t.=tag('link rel="shortcut icon" type="image/x-icon" href="' . $sn . 'favicon.ico"') . "\n";
   }

    $t = tag('meta http-equiv="content-type" content="text/html; charset=utf-8"') . "\n" . $t;
    global $sn;
    $t .= tag('base href="http'
        . (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 's' : '')
        . '://' . $_SERVER['SERVER_NAME']
        . ($_SERVER['SERVER_PORT'] < 1024 ? '' : ':' . $_SERVER['SERVER_PORT'])
        . $sn . '"') . "\n";
   return $t . tag('meta name="generator" content="' . CMSIMPLE_VERSION . ' ' . CMSIMPLE_RELEASE . ' - www.cmsimple.org"') . "\n" . tag('link rel="stylesheet" href="' . $pth['file']['corestyle'] . '" type="text/css"') . "\n" . tag('link rel="stylesheet" href="' . $pth['file']['stylesheet'] . '" type="text/css"') . "\n" . $hjs;
}

Оригинал

Code: Select all

function head()
{
    global $title, $cf, $pth, $tx, $sn, $hjs;
    $t = htmlspecialchars($cf['site']['title'], ENT_COMPAT, 'UTF-8');
    if (!empty($t) && !empty($title))
    {
        $t .= ' - ';
    }
    $t .= $title;
    $t = '<title>' . strip_tags($t) . '</title>' . "\n";
    foreach ($cf['meta'] as $i => $k)
   {
        $t .= meta($i);
   }

   if(file_exists('./favicon.ico'))
   {
      $t.=tag('link rel="shortcut icon" type="image/x-icon" href="' . $sn . 'favicon.ico"') . "\n";
   }

    $t = tag('meta http-equiv="content-type" content="text/html; charset=utf-8"') . "\n" . $t;
    return $t . tag('meta name="generator" content="' . CMSIMPLE_VERSION . ' ' . CMSIMPLE_RELEASE . ' - www.cmsimple.org"') . "\n" . tag('link rel="stylesheet" href="' . $pth['file']['corestyle'] . '" type="text/css"') . "\n" . tag('link rel="stylesheet" href="' . $pth['file']['stylesheet'] . '" type="text/css"') . "\n" . $hjs;
}


Вместо "'print'" "uenc($tx['menu']['print'])", меняем "return..."
cmsimple/functions.php
1067-я строка

Code: Select all

function printlink()
{
   global $f, $search, $file, $sn, $tx, $adm;
   $t = amp() . uenc($tx['menu']['print']);
   if ($f == 'search')
      $t .= amp() . 'function=search' . amp() . 'search=' . htmlspecialchars(stsl($search), ENT_COMPAT, 'UTF-8');
   else if ($f == 'file')
      $t .= amp() . 'file=' . $file;
   else if ($f != '' && $f != 'save')
      $t .= amp() . $f;
   else if (sv('QUERY_STRING') != '')
      $t = htmlspecialchars(sv('QUERY_STRING'), ENT_COMPAT, "UTF-8") . $t;
      return '<a href="' . $sn . '' . $t . '.html" target="_blank">' . $tx['menu']['print'] . '</a>';
}

Оригинал

Code: Select all

function printlink()
{
   global $f, $search, $file, $sn, $tx, $adm;
   $t = amp() . 'print';
   if ($f == 'search')
      $t .= amp() . 'function=search' . amp() . 'search=' . htmlspecialchars(stsl($search), ENT_COMPAT, 'UTF-8');
   else if ($f == 'file')
      $t .= amp() . 'file=' . $file;
   else if ($f != '' && $f != 'save')
      $t .= amp() . $f;
   else if (sv('QUERY_STRING') != '')
      $t = htmlspecialchars(sv('QUERY_STRING'), ENT_COMPAT, "UTF-8") . $t;
      return '<a href="' . $sn . '?' . $t . '">' . $tx['menu']['print'] . '</a>';
}


cmsimple/functions.php
1221-я строка

Code: Select all

$t .= '<li>' . a($s, $changeMode) . $changeText . '</a></li>' . "\n";

Оригинал

Code: Select all

$t .= '<li><a href="' . $sn . '?' . $su . '&' . $changeMode . '">' . $changeText . '</a></li>' . "\n";


Создал файл
cmsimplexh/cmsimple/userfuncs.php

Code: Select all

<?php
 
/**
 * Returns the canonical link tag. Works only for clean URLs.
 *
 * @global string  The absolute path to the directory of the folder which contains index.php.
 * @global string  The GET parameter of the current page.
 * @global array  The GET parameters of all pages.
 * @param  array $ignoreParams  The paramaters to ignore in the canonical URL (e.g. print).
 * @return string  The (X)HTML.
 */
function canonical($ignoreParams = array())
{
    global $sn, $su, $u;
 
    $params = array();
    $allParams = explode('&', $_SERVER['QUERY_STRING']);
    foreach ($allParams as $param) {
        $param = explode('=', $param);
        $key = $param[0];
        if ($key != $su && !in_array($key, $ignoreParams)) {
            $params[$key] = isset($param[1]) ? $param[1] : null;
        }
    }
    ksort($params);
    $newParams = array();
    foreach ($params as $key => $value) {
        $newParams[] = $key . (isset($value) ? "=$value" : '');
    }
 
    $baseURL = 'http'
        . (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 's' : '')
        . '://' . $_SERVER['SERVER_NAME']
        . ($_SERVER['SERVER_PORT'] < 1024 ? '' : ':' . $_SERVER['SERVER_PORT'])
        . $sn;
 
    $canonicalSU = $su == $u[0] ? '' : $su;
    $url = $baseURL . $canonicalSU;
    if (!empty($newParams)) {
        $url .= '?' . (empty($canonicalSU) ? '&' : '')
            . implode('&', $newParams);
    }
    $link = tag('link rel="canonical" href="'
                . htmlspecialchars($url, ENT_COMPAT, 'UTF-8') . '"') . "\n";
    return $link;
}
 
/*
 * Insert the canonical link to the "head" element, when not in admin mode.
 */
if (!$adm) {
    $hjs .= canonical(array('logout', 'print'));
}
 
?>


plugins/tinymce/inits (init_coauthorsfull.js, init_coauthorsmedium.js, init_coauthorsnarrow.js, init_full.js, init_medium.js, init_narrow.js)
3-я строка

Code: Select all

// General options

    document_base_url: "%BASE_URL%",
   theme : "advanced",

Оригинал

Code: Select all

// General options

    theme : "advanced",



plugins/tinymce/inits (init_coauthorsminimal.js, init_coauthorssidebar.js, init_minimal.js, init_sidebar.js)
3-я строка

Code: Select all

// General options

    document_base_url: "%BASE_URL%",
   mode    : "specific_textareas",

Оригинал

Code: Select all

// General options

    mode    : "specific_textareas",


Не используется, но добавил здесь, сейчас некогда разбираться, поэтому в шаблоне заменил:
"<?php echo loginlink();?>" на "<a href="http://vitalij.maxim.zp.ua/login.html">Вход</a>"
С картинками тоже не захотел разбираться поэтому в "content.htm" заменил:
"./userfiles/images/" на "http://vitalij.maxim.zp.ua//userfiles/images/"
"./?download=" на "http://vitalij.maxim.zp.ua/userfiles/downloads/"
(Пишу приблизительно, точно уже не помню)
cmsimple/login.php
73-я строка

Code: Select all

function lilink() // not in use anymore - fallback only
{
    global $cf, $adm, $sn, $u, $s, $tx;
    if (!$adm)
   {
        if ($cf['security']['type'] == 'javascript')
            return '<a href="javascript:login()">' . $tx['menu']['login'] . '</a><form id="login" style="display: inline; display: none;" action="' . $sn . '" method="post">' . tag('input type="hidden" name="login" value="true"') . tag('input type="hidden" name="selected" value="' . $u[$s] . '"') . tag('input type="hidden" name="passwd" id="passwd" value=""') . '</form>';
        else
            return a($s > -1 ? $s : 0, uenc($tx['menu']['login'])) . $tx['menu']['login'] . '</a>';
    }
}

Оригинал

Code: Select all

function lilink() // not in use anymore - fallback only
{
    global $cf, $adm, $sn, $u, $s, $tx;
    if (!$adm)
   {
        if ($cf['security']['type'] == 'javascript')
            return '<a href="javascript:login()">' . $tx['menu']['login'] . '</a><form id="login" style="display: inline; display: none;" action="' . $sn . '" method="post">' . tag('input type="hidden" name="login" value="true"') . tag('input type="hidden" name="selected" value="' . $u[$s] . '"') . tag('input type="hidden" name="passwd" id="passwd" value=""') . '</form>';
        else
            return a($s > -1 ? $s : 0, '&amp;login') . $tx['menu']['login'] . '</a>';
    }
}


Не добавлял в "Addon-CMSimple-422-CleanURLs-2013-08-06", поменял в "CMSimple-422-CleanURLs-2013-08-06"
cmsimple/config.php
54-я строка

Code: Select all

$cf['uri']['seperator']="/";

Оригинал

Code: Select all

$cf['uri']['seperator']="___";


Не добавлял в "Addon-CMSimple-422-CleanURLs-2013-08-06", поменял в "CMSimple-422-CleanURLs-2013-08-06"
cmsimple/defaultconfig.php
54-я строка

Code: Select all

$cf['uri']['seperator']="/";

Оригинал

Code: Select all

$cf['uri']['seperator']=":";


cmsimple/languages/ru.php
318-я строка

Code: Select all

$tx['urichar']['new']="A,B,V,G,D,E,Yo,Zh,Z,I,Y,K,L,M,N,O,P,R,S,T,U,F,H,C,Ch,Sh,Sch,Y,E,Yu,Ya,a,b,v,g,d,e,yo,zh,z,i,y,k,l,m,n,o,p,r,s,t,u,f,h,c,ch,sh,sch,y,e,yu,ya,and";
$tx['urichar']['org']="А,Б,В,Г,Д,Е,Ё,Ж,З,И,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ы,Э,Ю,Я,а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ы,э,ю,я,&amp;, -,.,+,Ъ,Ь,ъ,ь,&quot;,(,)";

Оригинал

Code: Select all

$tx['urichar']['new']="";
$tx['urichar']['org']="";


cmsimple/languages/ru.php
19-я строка

Code: Select all

$tx['adminmenu']['media']="Медиа";

306-я строка

Code: Select all

$tx['title']['media']="Медиафайлы";

290-я строка

Code: Select all

$tx['sysinfo']['version_info']="Версия и информация об обновлении &raquo;";

327-я строка

Code: Select all

$tx['version']['cmsimple_ok']="Версия CMSimple актуальна.";
$tx['version']['current_version_installed']="Установлена актуальная версия";
$tx['version']['info_download']="Информация и загрузка";
$tx['version']['no_versionsinfo']="Информация о версии не доступна";
$tx['version']['standard_plugin']="Стандартный системный плагин";
$tx['version']['update_available']="Доступна новая версия";
$tx['version']['updates_message']="Доступно обновление";
$tx['version']['version_check_failed']="Проверка версии не удалась!";

Оригинал

Code: Select all

$tx['adminmenu']['media']="Media";

Code: Select all

$tx['title']['media']="Media файлы";

Code: Select all

$tx['sysinfo']['version_info']="Version- and Update Info &raquo;";

Code: Select all

$tx['version']['cmsimple_ok']="Current CMSimple version is installed.";
$tx['version']['current_version_installed']="Current version installed";
$tx['version']['info_download']="Info&nbsp;and&nbsp;download";
$tx['version']['no_versionsinfo']="No version informations available";
$tx['version']['standard_plugin']="Standard System Plugin";
$tx['version']['update_available']="Newer version is available";
$tx['version']['updates_message']="Updates available";
$tx['version']['version_check_failed']="Version check failed!";


cmsimple/languages/de.php
318-я строка

Code: Select all

$tx['urichar']['new']="ae,oe,ue,Ae,Oe,Ue,ss,and";
$tx['urichar']['org']="ä,ö,ü,Ä,Ö,Ü,ß,&amp;, -,.,+,&quot;,(,)";

Оригинал

Code: Select all

$tx['urichar']['new']="ae,oe,ue,Ae,Oe,Ue,ss";
$tx['urichar']['org']="ä,ö,ü,Ä,Ö,Ü,ß";


cmsimple/languages/ (default.php, en.php, da.php, fr.php, fi.php, tr.php)
318-я строка

Code: Select all

$tx['urichar']['new']="and";
$tx['urichar']['org']="&amp;, -,.,+,&quot;,(,)";

Оригинал

Code: Select all

$tx['urichar']['new']="";
$tx['urichar']['org']="";


.htaccess

Code: Select all

AddDefaultCharset UTF-8
RewriteEngine on

# Do not rewrite requests to existing directories and files:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Everything else is a CMSimple_XH page request,
# so shift the subfolders to the beginning of the query string
RewriteRule ^([A-z]{2}/)?([^.]*)(.html)?$ $1?$2 [QSA]

Оригинал

Code: Select all

AddDefaultCharset UTF-8
Last edited by Maxim on Tue 6. Aug 2013, 10:44, edited 3 times in total.


Return to “Other Solutions”

Who is online

Users browsing this forum: No registered users and 1 guest