Перейти к содержимому

Реферальная программа Мегаплана


  • Закрытая тема Тема закрыта

Помогите с созданием таблиц

#11 Banderas

Banderas
    Topic Starter
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1
0

Отправлено 12 Март 2011 - 01:09

ZiTosS, я хочу обрабатывать все в файле, например index.php
Как посылаться на index.php - знаю
RefwiteEngine On
RewriteRule ^(.*)$ index.php [L]
Как разбить строку - тоже знаю, регулярные выражения учил

Но вот как именно разобрать ссылку?

сайт.ру/userpage.php?login=Banderas

на
userpage.php
login=Banderas

Даже если правильно, то как "сказать" Apache, что бы в адресную строку браузера подставлял?

сайт.ру/Banderas/


  • 0


#12 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 12 Март 2011 - 13:18

Banderas, ты неправильно понимаешь... Ты пытаешься сделать всё, но с точностью да наоборот... Пользователь должен переходить по ЧПУ ссылке, а mod_rewrite перенаправляет пользователя на определенный PHP-файл с get параметрами запроса или же на index.php, где затем мы разберем строку запроса и выполним, исходя из параметров запроса, определенные действия.

Тебе надо именно обращения формата site.ru/.../.../.../ перенапрвлять на index.php?router=$1
Далее в index.php, допустим, подключается класс, который разбирает параметр $_GET['router'] по частям.

Например, происходит запрос к сайту site.ru/account/Banderas/, mod_rewrite перенаправляет на index.php?router=account/Banderas/
Твой простенький скрипт (не будет уходить в дебри) получает строку router и выцепляет из неё нужные части. Допустим, первый кусок всегда будет именем подключаемого модуля, а все последующие куски - это параметры передаваемые в модуль.
Т.о. мы имеем:
module = account (имя подключаемого модуля)
params = array("Banderas") (параметры модуля, в данном примере, только логин пользователя)

Далее твой скрипт подгружает модуль module и передает ему параметры params на обработку. Модуль, к примеру, возвращает обратно в скрипт содержимое, которое нужно вывести на страницу.

Конечно это не универсальный способ, но на пальцах примерно описывает структуру, которая тебе нужна.

Теперь скажу, почему возможно не получится с ссылкой site.ru/Banderas/
Если ты с помощью подобного роутера попытаешься обратиться по данному URL, скрипт попытается обратиться к модулю Banderas... Сам понимаешь, что это не модуль. Конечно можно сделать роутер, который будет понимать, что первый параметр это логин пользователя, но возникает вопрос, как тогда организовывать подгрузку других модулей на основе данного роутера.

Если что не поймешь, пиши, попробую уточнить на примере :rolleyes:

Даже если правильно, то как "сказать" Apache, что бы в адресную строку браузера подставлял?

Ссылки на сайте формируешь ты сам, вот и формируй её должным образом :rolleyes:
  • 0

#13 gaaarfild

gaaarfild
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 13 Март 2011 - 18:40

Черт! =) Ну почему всегда на самые прикольные вопросы уже давно есть ответы! =))
Только зайду поотвечать с удовольствием, а на все уже отвечено)))
  • 0

#14 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 13 Март 2011 - 21:30

Черт! =) Ну почему всегда на самые прикольные вопросы уже давно есть ответы! =))
Только зайду поотвечать с удовольствием, а на все уже отвечено)))

Ну дык эт того... кто рано встает - того и тапки :rolleyes:
  • 0


#15 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 14 Март 2011 - 20:31

gaaarfild,

Черт! =) Ну почему всегда на самые прикольные вопросы уже давно есть ответы! =))
Только зайду поотвечать с удовольствием, а на все уже отвечено)))

Можно всегда выразить свою точку зрения на решение вопроса. Может в ответе есть недочеты или он вообще кажется вам неверным.
  • 0

#16 gaaarfild

gaaarfild
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 18 Март 2011 - 00:20

Нам он кажется крайне верным. =)
  • 0


Оформление форума – IPBSkins.ru