LINUX.ORG.RU
ФорумAdmin

Апач реврайтит урлкодированные ссылки в нижний регистр

 ,


0

2

Например есть ссылка: /Услуги

Урлкодировано она выглядит как: /%D0%A3%D1%81%D0%BB%D1%83%D0%B3%D0%B8

Апач её передает в пышечку уже в таком виде: /%d0%a3%d1%81%d0%bb%d1%83%d0%b3%d0%b8 а там роуты регистрозависимые, конечно можно впилить туда кейс-инсенситив, но это будут же дубликаты, сеошники взвоют.

Кстати с латиницей он так не делает, т.е. /TeStMe так и передается как /TeStMe

Что-то гугуль не дает вменяемых результатов. Кто с таким встречался? Куда копать?

А скажи мне, программист, в шестнадцатиричной системе счисления цифра d равна цифре D, или нет?

thesis ★★★★★
()
Ответ на: комментарий от thesis

Попробуй объяснить это поисковым роботам, которым нет дела до того кто там чему равен, т.к. воспринимается УРЛ как строка, причем чувствительно к регистру.

deep-purple ★★★★★
() автор топика
Ответ на: комментарий от deep-purple

А если без сарказма - для апача и верхний и нижний регистр - одно и тоже (конкретно в данном случае). Для роботов тоже.

anonymous
()
Ответ на: комментарий от ovax

С каких пор поисковые роботы стали регистро-зависимые ?

А с каких пор нет? Если на сервере лежит файл /test.txt то индексирует именно так, а если /TEST.txt то именно так.

deep-purple ★★★★★
() автор топика
Ответ на: комментарий от ovax

Может проще СЕОшников ваших выгнать ?

Может и так, но это не мне решать

deep-purple ★★★★★
() автор топика
Ответ на: комментарий от deep-purple

Да пойми ты ! %d0 и %D0 в url'e - это одно и тоже. Что для сервера, что для браузера, что для поискового робота

ovax ★★★
()
Ответ на: комментарий от ovax

Либо вы что-то очень сильно неправильно делаете

ovax ★★★
()
Ответ на: комментарий от anonymous

но не в данном случае

Я говорю про дубликаты в индексации, если отключить регистрозависимость в роутах сайта, то по «разным» урл будет одинаковый контент.

deep-purple ★★★★★
() автор топика
Ответ на: комментарий от deep-purple

Попробуй объяснить это поисковым роботам

Нет, попробуй объяснить т.н. «сеошникам» и заодно осознай сам, что значение числа не зависит от шрифта, которым это число написано.

thesis ★★★★★
()
Ответ на: комментарий от ovax

Да пойми ты ! %d0 и %D0 в url'e - это одно и тоже

Дада, и ты пойми, что такая ссылка тоже хавается: /test%20%20 и индексируется, хотя там просто «два пробела»

deep-purple ★★★★★
() автор топика
Ответ на: комментарий от thesis

значение числа не зависит от шрифта, которым это число написано

Где ты видел про числа? Речь про строки - урл это строка, а не число.

deep-purple ★★★★★
() автор топика
Ответ на: комментарий от deep-purple

Кем хавается ? Кем индексируется ? Если речь про поисковики, то там люди умней работают, чем ваши сеошники. Если хавается в вашей внутренней кухне - то то, повторяюсь, вы что-то очень сильно делаете не так

ovax ★★★
()
Ответ на: комментарий от deep-purple

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

ovax ★★★
()
Ответ на: комментарий от deep-purple

А вот то, что ты толкуешь числа как уникальные рисунки из кружочков и палочек - это проблема не апача, не поисковых роботов и не пхп, а лично и только твоя.

thesis ★★★★★
()
Ответ на: комментарий от wxw

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

Это относится не только к ЧПУ движка, но и например статическим файлам с кириллицей в именах.

deep-purple ★★★★★
() автор топика
Ответ на: комментарий от deep-purple

В конкретно данном случае, а не из-за кодировок

anonymous
()
Ответ на: комментарий от deep-purple

URLs can only be sent over the Internet using the ASCII character-set.

Since URLs often contain characters outside the ASCII set, the URL has to be converted into a valid ASCII format.

URL encoding replaces unsafe ASCII characters with a «%» followed by two hexadecimal digits.

URLs cannot contain spaces. URL encoding normally replaces a space with a plus (+) sign or with %20.

Иди и читай спеки, неуч.

anonymous
()
Ответ на: комментарий от deep-purple

Чувак, ты научишься формализовать проблему, или нет?
За каким рожном ты приплел апач и СЕО (!) туда, где проблема лежит исключительно в неспособности «программиста» понять, что у него на входе программы?
Нахрена ты приперся в мой уютный /admin с быдлопыховским вопросом? Иди в /web-development, там таких как ты много.

thesis ★★★★★
()
Ответ на: комментарий от deep-purple

Посмотрел я статью, что ты привел... Там какая-то хрень написана. Не знаю, может для микрософтовского бинга и актуальная... В гугле проверил - ему насрать, что с http://www.sitename, что просто sitename, что цифры разными регистрами ;) - ищет одинаково.

Это тебя СЕОшники так в мозг имеют ? Закрой им хабр на проксе.

ovax ★★★
()
Ответ на: комментарий от anonymous

Иди и читай спеки, неуч

Где тут сказано о регистре урлкодированной строки? Где тут сказано что это числа, а не строка? Зато в самом верху сказано что да - строка.

deep-purple ★★★★★
() автор топика
Ответ на: комментарий от deep-purple

Где тут сказано что это числа, а не строка?

Так, всё, no hope, пациент еще и слепой.

thesis ★★★★★
()
Ответ на: комментарий от thesis

что у него на входе

На входе строка, но я не о входе своей программы, а о том, что идет замена символов в строке, и не говори что это правильно.

С какого рожна апач их пергоняет в нижний регистр? Кстати такое поведение только на «бзде», ни в онтопике, ни в офтопике такого нет.

deep-purple ★★★★★
() автор топика
Ответ на: комментарий от anonymous

полного просветления

А теперь для полнейшего просветления спроси у себя сам где в http GET вообще ты видел число?

deep-purple ★★★★★
() автор топика
Ответ на: комментарий от deep-purple

О регистре чисел ты можешь вдоволь поговорить с работодателем.
А здесь все-таки технический ресурс.
И еще: ты программист, да?
Мне для коллекции.

thesis ★★★★★
()
Ответ на: комментарий от deep-purple

Как реализация http GET в конкретном браузере вообще соотносится с тем, что ты толкуешь? А, не, ты хочешь написать костылей, чтобы все кривое работало правильно, причем не исправляя кривой продукт.

anonymous
()
Ответ на: комментарий от anonymous

Как реализация http GET в конкретном браузере

Я не про браузер, а про сервер. Вот прилетел гет-запрос на сервер. Что там? Числа?

кривой продукт

Раз кривой: http://stackoverflow.com/questions/918019/net-urlencode-lowercase-problem Два кривой: http://stackoverflow.com/questions/16957429/how-to-avoid-apache-transfering-u... Три кривой: http://stackoverflow.com/questions/16421531/url-encoded-paths-differs-by-webs... Дальше продолжать?

О регистре чисел ты можешь вдоволь поговорить с работодателем.

Я говорю о регистре строк, не нужно выворачивать.

deep-purple ★★★★★
() автор топика
Ответ на: комментарий от deep-purple

Раз кривой, Два кривой, Три кривой

А это, минуточку, нэт, рельсы и пых, и все почемуто в верхнем регистре, и только «опач» выделился.

И повторю еще раз для умных: Такое поведение у апача только на бздях, и не наблюдается на он/оф-топике.

deep-purple ★★★★★
() автор топика
Ответ на: комментарий от deep-purple

Да, кривые реализации. То, что их много ничего не меняет. После встречи 16-битного числа после символа «%» обрабатываться оно должно как число. А то, что программисты из-за своей лени работают со строками - баг, который они не хотят фиксить (алгоритм то сложнее станет). В общем, ССЗБ. Тебе говорят, как должно быть - ты же в этом случае кричишь «а у Пети все по-другому».

anonymous
()
Ответ на: комментарий от deep-purple

Бери и правь сырцы, пересобирай. Достаточно емко? Винда вринципе кейс-инсенситив - прикинь, да? Все продукты понимают верхний и нижний регистры в таких урл. Так что всё ок. СЕО в анус пошли. Если не знаешь, как работает - учи матчасть. В ФС файл с кириллицей все равно лежит один. И достать его можно по обоим урлам - таки да. Не равится - пиши rewrite. Не нравится апач - сваливай на Nginx/Lighttpd/Cherokee/etc. Не нравится? Пиши в апстрим.

anonymous
()
Ответ на: комментарий от anonymous

После встречи 16-битного числа после символа «%»

Встречи где? Правильно - в строке, которую апач и передал в окружение моей прилаги, и не важно как прилага взаимодействует, модулем или cgi. У меня и выбора то нет, мне строка приехала.

Да, можно налепить костылей с посимвольным чтением, проверкой валидности величин чисел. Представь себе все это на пыхе - во что превратится обработка входящего реквеста. Велосипеды же. Приведи пример где вообще такое практикуют, не обязательно в пыхе.

deep-purple ★★★★★
() автор топика
Ответ на: комментарий от deep-purple

Я где-то сказал, что у апача правильная реализация? Кстати, с точки зрения стандарта во всех продуктах реализация верна - допускается и верхний и нижний регистр. А то, что у кого-то там отрубалась передача - ну, это уже надо по месту смотреть. И еще, для совсем глупых: веб-сервер не предназначен решать проблемы поисковиков. Так яснее? Если не умеешь rewrite - добавь функцию в пых, чтобы урлы формировались в lowercase. И иди в школу уже, право, надоел.

anonymous
()
Ответ на: комментарий от deep-purple

У меня и выбора то нет, мне строка приехала.

А вот тут то мы и поняли, что ты не знаешь, что такое mod_rewrite.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.