Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
![]() |
||
![]() |
![]() |
|
Опции темы
![]() |
![]() |
#1 |
иногородний
Сообщений: 231
Регистрация: 26.10.2008
Возраст: 40
![]() |
запрос вида www.site.ru/p111
Интересует, как на многих сайтах организуется обработка урл-ов вида w ww.site.ru/p111 ?
(Например на ВКонтакте, где /id12345) и прочее? Что для этого вообще нужно? Какие технологии должны присутствовать на хостинге и какие скрипты нужно писать? |
![]() |
![]() |
![]() |
#2 | |
xxCENSOREDxx
Сообщений: 983
Регистрация: 09.04.2006
Возраст: 45
![]() |
Цитата:
для сайта из двух-трёх страниц достаточно создать папку id12345 и в неё положить index.html =) если программирование будет на php, perl, то, скорее всего, сервер на хостинге будет apache, для него есть модуль url-преобразований (поищите в гугле по запросу mod_rewrite) для classic asp и .net сервер будет iis, тогда для iis 7.0 есть родной модуль, для ранних версий неплохой модуль isapi_rewrite далее возможны 2 варианта: — все запросы перенаправляются к одному файлу, тогда получаем строку запроса, разбираем её и выводим нужную инфу — запросы превращаются в get-запросы с параметрами к разным файлам, тогда обрабатываем get-запрос как обычно |
|
![]() |
![]() |
![]() |
#3 |
иногородний
Сообщений: 231
Регистрация: 26.10.2008
Возраст: 40
![]() |
Да, не оговорил условия.
Работать всё должно на связке Apache + PHP4. Создать папки уже была мысль, но тогда при заходе на фтп глаза будут лезть на лоб (динамика развития сайта дойдёт до 10000 ссылок, в которых каждая должна ссылаться на свою страницу) |
![]() |
![]() |
![]() |
#4 | |
иногородний
Сообщений: 231
Регистрация: 26.10.2008
Возраст: 40
![]() |
Цитата:
А вот второй вариант более интересен. Можно по-подробнее, как именно можно перевести подобный урл в гет-запрос? |
|
![]() |
![]() |
![]() |
#5 | |
xxCENSOREDxx
Сообщений: 983
Регистрация: 09.04.2006
Возраст: 45
![]() |
Цитата:
как раз первый вариант интереснее, так как второй обычно применяют, когда нужно из готового сайта со страшными урлами превратить в сайт с чпу, не переписывая скрипты |
|
![]() |
![]() |
![]() |
#6 |
иногородний
Сообщений: 231
Регистрация: 26.10.2008
Возраст: 40
![]() |
Ладно, покурю эту тему. Спасибо за наставление :]
|
![]() |
![]() |
![]() |
#7 |
иногородний
Сообщений: 231
Регистрация: 26.10.2008
Возраст: 40
![]() |
Вкурил. Но появилась проблема, которую не могу решить.
При обращении по ссылке вида www.site.ru/001/page и правиле редиректа RewriteRule ^([0-9]+)/([a-zA-Z]+)$ ?i=$1&subp=$2 компьютер конечного пользователя пытается искать все картинки, css и js файлы в дериктории p001. Как этого избежать? Один из способов ясен - прописывать везде абсолютные пути. Но это слишком трудоёмко, тем более что имя домена ещё не известно. Как бы по-элегантнее обойти этот вопрос? RewriteBase / прописано - не помогает |
![]() |
![]() |
![]() |
#8 |
иногородний
Сообщений: 231
Регистрация: 26.10.2008
Возраст: 40
![]() |
Допёрло.
Прописал ниже правило RewriteRule ^([0-9]+)/(.*)$ /$2 |
![]() |
![]() |
![]() |
#9 | |
фотограф
Сообщений: 2,738
Регистрация: 20.10.2004
![]() |
Цитата:
|
|
![]() |
![]() |
![]() |
#10 |
ЯФ
Сообщений: 351
Регистрация: 27.01.2007
Возраст: 39
![]() |
1)Достаточно писать <img src=/img/myphoto.jpg> вместо <img src=img/myphoto.jpg>.
2)или абстоютные как сказали выше <img src=http://www.example.com/img/myphoto.jpg> что ИМХО не очень удобно. 3) либо правило в апач |
![]() |
![]() |
![]() |
#11 | |
фотограф
Сообщений: 2,738
Регистрация: 20.10.2004
![]() |
Цитата:
"/img/myphoto.jpg" - абсолютный путь. "img/myphoto.jpg", "../img/myphoto.jpg" - относительные пути. |
|
![]() |
![]() |
![]() |
#12 | |
ПараноЙик
Сообщений: 676
Регистрация: 15.08.2006
![]() |
Да не надо мудрить)
Цитата:
и у тебя будет один массив explode('/',$_GET['p']); Его разбираешь и что надо отображаешь. |
|
![]() |
![]() |
![]() |
#13 |
фотограф
Сообщений: 2,738
Регистрация: 20.10.2004
![]() |
Я бы сказал - что ваш пример - и есть мудрить.
![]() |
![]() |
![]() |