Помогите с mod_rewrite

uanix
На сайте с 17.10.2006
Offline
108
1176

В mod_rewrite я пока ничего не понимаю - поэтому прошу помощи:

Есть сайт сайт.com - на нем установлена система в которой ЧПУ реализуется через mod_rewrite. Проблема в том, что скрипт английский и он генерит названия типа:

сайт.com/finance/insurance/insuring-your-small-business.html - это если заголовок введен на английском языке, а если на русском, то получается такая лабуда: сайт.com/finance/insurance/%D7oi-o%E0eia-iao%E0cia%E0iea.html

Сейчас .htaccess выглядит так:

<IfModule mod_php4.c>

php_value session.use_only_cookies 1

php_value session.use_trans_sid 0

</IfModule>

<IfModule mod_rewrite.c>

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule .* index.php [QSA,L]

</IfModule>

Нужно чтоб было например так:

сайт.com/finance/insurance/russkoe_nazvanie.html

Помогите пожалуста.

Можно не бесплатно.

Первый кредит БЕСПЛАТНО (https://debtum.ru/?ref=7783) | Хостинг и домены: COM, ORG, NET, INFO... (http://www.dominant.lt/p.php?1187) и UA *.UA... (http://www.dominant.ua/p.php?1187) | А еще я делаю сайты - в личку
Zlo_606ep
На сайте с 14.12.2006
Offline
129
#1

это название файлов мод реврайтиться?

uanix
На сайте с 17.10.2006
Offline
108
#2

Да. сайт http://humour.dp.ua (пока тут тестирую)

на движке http://www.articletrader.com/articlems/

Ерунда выходит только с русскими словами... в названиях категорий и названиях статей.

Zlo_606ep
На сайте с 14.12.2006
Offline
129
#3

если все инклюдится в индекс.пхп, можно просто добавить функцию-транлитератор, которая будет выдавать линки на русскоязычные файлы

edogs software
На сайте с 15.12.2005
Offline
775
#4
uanix:
Да. сайт http://humour.dp.ua (пока тут тестирую)
на движке http://www.articletrader.com/articlems/

Ерунда выходит только с русскими словами... в названиях категорий и названиях статей.

В CMS наверняка есть функция формирования url имени, всё что Вам надо сделать, так это подправить ее что бы она превращала русские буквы в транслит. Если ее нет - значит надо написать её.

mod_rewrite тут не поможет, ссылки такие генерит не он, а CMS.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
uanix
На сайте с 17.10.2006
Offline
108
#5

Такой функции нет... во всяком случае я ее не нашел... :(

edogs software
На сайте с 15.12.2005
Offline
775
#6
uanix:
Такой функции нет... во всяком случае я ее не нашел... :(

Должна быть, может не в виде функции отдельной, но самая такая вещь присутствовать должна ибо урл вида "insuring-your-small-business" явно не "натур продукт", а нечто получаемое преобразованием.

Какая CMS?

С русским языком самого контента проблем нет?

uanix
На сайте с 17.10.2006
Offline
108
#7

ArticleMS (http://www.articletrader.com/articlems/)

C отображением руских слов в текстах проблем нет..

edogs software
На сайте с 15.12.2005
Offline
775
#8
uanix:
ArticleMS (http://www.articletrader.com/articlems/)
C отображением руских слов в текстах проблем нет..

Скачали, ставить и тестить лениво (извините), но скорее всего (после быстрого взгляда)

в файле core.php

эта функция


/**
* Generate an Url from the title (replacing spaces with '-' etc)
*
* @param string $title
* @return string url
*/
function generateUrl($title){

мы у себя для перевода в красивые урлы используем нечто вроде


$n = strtr($n, "ЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮёйцукенгшщзхъфывапролджэячсмитьбю", "eycukenghhzxyfivaproldjezcsmitibueycukenghhzxyfivaproldjezcsmitibu");
$n = preg_replace('/[^a-zA-Z0-9]/si', '', $n);

Попробуйте вызов функции типа как используем мы поставить в начале этой функции. Может помочь.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий