За последние 24 часа нас посетили 18643 программиста и 1600 роботов. Сейчас ищут 978 программистов ...

Руские буквы и mod_rewrite

Тема в разделе "PHP для новичков", создана пользователем joost, 29 май 2008.

  1. joost

    joost Guest

    Сложилась такая проблема.
    Оператор БД при вводе моделей товаров в БД допускал ошибки.
    Например вводил название модели рускимим и английскими буквами в перемешку.
    Вот к примеру Asus P525 - ,буква "Р" введена как руская "Р".
    На сайте есть мод_реврайт, который все урлы переводит в вид "Asus-P525.htm"

    При вызове страницы Asus-P525.htm с руской или английской "Р" при написании - выводит, что страницы нет.
    В чем может быть проблема?
     
  2. BS

    BS Активный пользователь

    С нами с:
    10 апр 2008
    Сообщения:
    149
    Симпатии:
    0
    Окончательный вопрос какой?

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

    а вообще что-то типа такого:
    Код (Text):
    1.  
    2. RewriteRule (.*)[Аа](.*) $1a$2
    3. RewriteRule (.*)[Рр](.*) $1p$2
    где в квадратных скобках - русские буквы
     
  3. joost

    joost Guest


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

    речь идет не о транслите.

    а надо например
    "Р" (руская р) на "Р" (английская п)
    руская "Х" на англ. "Х" икс

    тоесть написание однотипное
     
  4. BS

    BS Активный пользователь

    С нами с:
    10 апр 2008
    Сообщения:
    149
    Симпатии:
    0
    если второй апач, то можно так
    Код (Text):
    1.  
    2. RewriteMap rus-to-eng txt:map.txt
    3. RewriteRule (.*)([аехросмАЕХРОСМ])(.*) $1${rus-to-eng:$2}$3

    в map.txt - соответствующие пары русских и английских букв
     
  5. joost

    joost Guest

    map.txt какой формат должен иметь?
    а а
    х х
    А А
    Х Х
    р р
    Р Р

    или как правильно задавать соответствующие пары русских и английских букв?
     
  6. BS

    BS Активный пользователь

    С нами с:
    10 апр 2008
    Сообщения:
    149
    Симпатии:
    0
    да, такой

    к сожалению, нет под рукой второго апача, чтобы написать полностью функционирующий код