|
|
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
Всем привет! Очень давное заинтересоавлся сайтом авито! А именно урлами их! Очень интересно как это делается! может кто в курсе? а с помощью серевлетов? всем заранее спасибо, кто примет учестие! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2012, 12:41:01 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
какое ещё "авито", и что у них с урлами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2012, 12:44:22 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, например вот такой! то есть нет как всегда xxxx.htm?<набор параметров> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2012, 12:47:14 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
https://www.google.com/search?q=Java+friendly+URL На Spring MVC делается мега-просто. http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html искать @PathVariable ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2012, 12:51:26 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2012, 13:00:39 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, А пример без спринга не подскажите? а то ради этого мпринг прикручивать не охота=) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2012, 13:29:07 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
ARusovА пример без спринга не подскажите? Гугл подскажет. ARusovа то ради этого мпринг прикручивать не охота=) В чем сложности? Читаем путь, парсим на переменные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2012, 13:38:12 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, сложности в том что я понятия даже не имею о чем идет речь! И пока в сети что то похожего найти не могу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2012, 14:06:01 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
ARusovсложности в том что я понятия даже не имею о чем идет речь! Вроде же написал о чем речь: 12681265 Правильный термин Friendly URL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2012, 14:18:42 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, допустим у меня есть url host.com/prodaga.html?service=12®ion=23 и как мне сделать чтобы вмесот этого было host.com/prodaga/garagy_v_moskve вот я не могу найти этого и не понимаю пока! И оэтому прошу помощи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2012, 14:28:06 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
ARusovдопустим у меня есть url host.com/prodaga.html?service=12®ion=23 Что значит "есть url"? Есть сервер, наверное? Который принимает GET запросы такого вида? ARusovи как мне сделать чтобы вмесот этого было host.com/prodaga/garagy_v_moskve Отрыть для себя документацию по Servlet API. Найти метод который из запроса возвращает путь /prodaga/garagy_v_moskve Решить для себя что prodaga это имя модуля, а garagy_v_moskve имя контроллера. Соответственно парсить путь с раздилителем. 1й параметр - модуль, 2й - контроллер и т.д. ARusovвот я не могу найти этого и не понимаю пока! И оэтому прошу помощи Где искали? Что нашли? Может я за вас открою гугл и cкопирую сюда ссылки? Вот смотрите: http://www.tuckey.org/urlrewrite/ http://stackoverflow.com/questions/1657793/how-can-i-rewrite-seo-friendly-url-on-struts http://stackoverflow.com/questions/2053132/is-a-colon-safe-for-friendly-url-use Там примеры, готовые классы и объяснения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2012, 14:41:36 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Пытался разобраться, но так и не смог вот URL host.com/prodaga.html?service=12®ion=23(гет запрос) И мне нужно его переобразовать в host.com/prodaga/rostov/garagy отку да мне знать что region=23 - это ростов (допустим) и как это мне подставить? Если кому не сложно приведите пример! Буду признателен и благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 17:52:17 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
ARusovотку да мне знать что region=23 - это ростов (допустим) и как это мне подставить? В базе ведь у вас хранится "id = 23. city=Ростов" ? Добавьте туда колонку чтобы хранить rostov. ARusovЕсли кому не сложно приведите пример! Чего пример? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 17:57:50 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, как это вообще сделано и как организовать Я не пойму как выдать а браузере нужную адресную строку И не могу найти пример в сети ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 20:13:59 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
наверное у тебя ничего не получится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 20:15:47 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
ARusovкак это вообще сделано и как организовать Я не пойму как выдать а браузере нужную адресную строку И не могу найти пример в сети Что значит "выдать в браузере" ? Вот так вот выдавайте в браузере: Код: html 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 20:17:56 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
Сдается мне, что у автора вообще JavaScript ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 00:47:47 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
У автора катастрофическая нехватка опыта и знаний. Примеры тут приводить без толку, потому что "а то ради этого мпринг прикручивать не охота=)". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 02:50:58 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
/catalog/all-0/sankt-peterburg-653240 Автор, да они также работают с айдишниками объектов как и в том примере что ты привел. вот он через тире в конце урла. по этому айди и идет запрос. в данном случае это наверняка ключ санкт-петербурга из их базы. сам урл состоит из имени объекта транслитом и через тире либо подчеркивание его первичного ключа. перед урлом объекта вот эта часть урла /catalog/all-0/ она обозначает - каталог предложений, раздел all-0 - это общий раздел. Т.е. выбираем в листинг все предложения не анализируя раздел вообще. если сделать например all-1 - то будет только транспорт. А вот пример объявления /items/sankt-peterburg_remont_i_stroitelstvo_okna_pvh_i_alyuminka_uteplenie_balkonov_i_lodzhij_65014599 на конце опять айдишник. а само имя уже составное из нескольких полей + транслит. явно видно что состоит из региона, названия раздела и названия объекта. тебе не нужно парится с расшифровкой названия. у тебя сразу есть ключ объекта - это число 65014599 на конце. что бы понять к какой именно сущности делать запрос нужно анализировать первую часть урла. Она своего рода указатель на нужный контроллер. в данном случае это items. Означает что тип объекта - объявление. И запрос будет потом select * from Объявления where id = 65014599 Т.е. у нас в урле имеет значение только первые два уровня для указания типа объекта и последнюю часть урла всегда надо анализировать так что берем только число в конце - это и есть ПК конкретного объекта . Безусловно там вся схема сложнее но все эти варианты прописаны в контроллерах. Т.е. куда и что запрашивать решается в них наверно. Сам урл, имея простой набор правил, сгенерить не проблема. просто будет логика в обратную сторону. У нас из базы всегда есть ПК и мы знаем тип объекта и правила формирования для такого типа объекта урлов. В отданной хтмл будут уже стоять готовые урлы в соотвесвии с этими правилами и дизайном. PS Не факт что они реальные ключи транслируют. Возможно что как то изговнились на его шифровку/дешифровку. но это не суть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 08:45:02 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
Я привел пример с сайта авито про который ты спросил. А вот если же ты захочешь иметь урл вообще без айдишников. То тебе придется как то обеспечить уникальность урла. Т.е. каждый объект в твоей базе должен иметь уникальный урл. Причем урл уникальный в разрезе использования объекта. Ибо например по региону СПБ можно вывести как информация о регионе так и список предложений в этом регионе. Да если еще и захочешь этими урлами потом произвольно управлять, типа для оптимизации сео то ппц. В этом случае логика более сложная. Возможно всю базу придется делать через некий единый реестр объектов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 08:54:48 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
ARusovBlazkowicz, допустим у меня есть url host.com/prodaga.html?service=12®ion=23 и как мне сделать чтобы вмесот этого было host.com/prodaga/garagy_v_moskve вот я не могу найти этого и не понимаю пока! И оэтому прошу помощи есть очень простая аналогия, для тех кто пришёл в веб с десктопа. это Код: html 1. контракт или функция-API к вашей ИС на сервере. Код: pascal 1. а ты хочешь это убрать? = изврат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 09:33:18 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
Всем спасибо, ответы! как кодировать и декодировать урл я думаю справлюсь у меня проблема с тем, как мне отдать вместе c html нужный урл? И как мне его прочитать host.com/prodaga/rostov/garagy - он же 404 выдаст! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 10:05:04 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
ARusovу меня проблема с тем, как мне отдать вместе c html нужный урл? Вот так: <a href=" http://host.com/prodaga/rostov/garagy">Гаражи</a> ARusovИ как мне его прочитать host.com/prodaga/rostov/garagy - он же 404 выдаст! URL не выдаёт 404. Этот код выдаёт сервер. Для того чтобы сервер понимал такие адреса пишется специальный фильтр, который преобразует а адреса в понятные сервлету параметры. Примеры таких фильтров я тоже приводил выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 10:20:22 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
это суета с урлами уже давно неактуальна. человеку вид урла пофиг, а на ранг в поисковиках он уже давно не влияет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 07:36:35 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
Юрий321это суета с урлами уже давно неактуальна. человеку вид урла пофиг, а на ранг в поисковиках он уже давно не влияет. Пофиг, потому что уже везде нормальные человеко-понятные URL'ы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 09:59:40 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
Юрий321это суета с урлами уже давно неактуальна. человеку вид урла пофиг, а на ранг в поисковиках он уже давно не влияет. А меня, например, напрягает что у гугла теперь куча левой инфы в урлах. Понятно что они сервер таким образом разгрузили. Но обмениваться линками теперь не так удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 10:18:10 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
Однозначно согласен. Идеал - динамический сайт, где адрес совершенно не меняется (даже # раздражает), правда, для многостраничного это не выход, хотя вариант с полным дубляжом той же иерархии товара в веб-магазине - это перебор. Кстати, даже для динамического сайта для возможности по ссылке попасть на товар делал одну штуку - адрес само собой чистый, но на каждой странице с товаром публикуется ссылка, по которой точно также можно попасть на нужный товар. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 12:46:42 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
IDVsbruck Идеал - динамический сайт, где адрес совершенно не меняется (даже # раздражает) В чем бенефиты? Нельзя скопировать адрес на ресурс. Нужно отдельный контрол для этого делать. IDVsbruck , правда, для многостраничного это не выход, хотя вариант с полным дубляжом той же иерархии товара в веб-магазине - это перебор. ??? IDVsbruck Кстати, даже для динамического сайта для возможности по ссылке попасть на товар делал одну штуку - адрес само собой чистый, но на каждой странице с товаром публикуется ссылка, по которой точно также можно попасть на нужный товар. Юзер должен найти эту ссылку сначала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 12:49:05 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
А чего ее находить? - Заходим на страницу, в одном и том же месте на всех страницах есть адрес, который можно скопировать. По нему открывается страница на нужном месте, но в строке "чистый" адрес сайта. Мне так нравится значительно больше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 14:55:36 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
IDVsbruckА чего ее находить? - Заходим на страницу, в одном и том же месте на всех страницах есть адрес, который можно скопировать. По нему открывается страница на нужном месте, но в строке "чистый" адрес сайта. Мне так нравится значительно больше.Параметры из тела запросы вы как собрались копировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 18:06:26 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
Дурной вопрос, дурной ответ: "правой кнопкой мыши". P.S. Без личностей, просто по делу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2012, 23:33:14 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
IDVsbruckА чего ее находить? - Заходим на страницу, в одном и том же месте на всех страницах есть адрес, который можно скопировать. Угу, и место это называется адресная строка браузера ;-) Зачем плодить сущности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 00:57:00 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
IDVsbruck, вы правда думаете что по делу? Тогда можно вашу версию того, как после копирования одной и той же адресной строки (у другого человека) будут появляться разные странички на одном и том же сайте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 15:39:35 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Видимо имеется ввиду что в ссылках есть параметры, но после открытия делается редирект таким образом что они исчезают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 15:47:01 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovIDVsbruck, вы правда думаете что по делу? Тогда можно вашу версию того, как после копирования одной и той же адресной строки (у другого человека) будут появляться разные странички на одном и том же сайте? Всегда имел проблемы с теорией, но никак не с практикой. В разделе HTML, javascript даже постил скрины, где видна подобная реализация. Был веб-магазин, где весь сайт работал на одной странице, у которой фактически были только 2 области подгрузки - tower и content. Само собой, URL всегда один. Но для того, чтобы всегда можно было сослаться на нужный товар, описание, картинку, корзину и т.д., на странице было место, очень органично вписывавшееся в диз, где отображался псевдо-URL. Ну, и само собой, на серваке контроллер, обрабатывавший эти урлы - совершенно простенький, который просто заполнял сессию параметрами и редиректил на "чистый" адрес, и страница загружала нужный контент. В принципе, реализация очень симпатичная. Смена страниц очень быстрая, перерисовок минимум ... не тут рассказывать о преимуществах динамических страниц. Более того, подгружаемый контент был в виде jsp-страниц с jstl- и spring-вставками, которые обрабатывались сервером и клиент получал реально работающий контент. У меня вызывает недоумение вашего удивления - что не так или что не нравится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 16:33:19 |
|
||
|
Для рассуждения и интереса
|
|||
|---|---|---|---|
|
#18+
IDVsbruckчто не так или что не нравится?Ну закрыли вы адресную строку для копирования ... URL-ы, то всё равно копипастятся разные . Пусть и из специально отведённого места. Как в старой шутке: - Выльем воду, погасим плиту. Таким образом, мы сведём задачу к предыдущей, решение которой нам уже известно ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2012, 18:12:17 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2131382]: |
0ms |
get settings: |
16ms |
get forum list: |
32ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
65ms |
get topic data: |
20ms |
get forum data: |
6ms |
get page messages: |
100ms |
get tp. blocked users: |
2ms |
| others: | 360ms |
| total: | 617ms |

| 0 / 0 |
