imho.ws |
![]() |
![]() |
![]() |
# 1 |
::VIP::
Художник-2004 Регистрация: 04.11.2002
Адрес: Питер
Сообщения: 1 604
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
как устроен шаблон вида...
Здрасте, опять я с вопросиком
![]() Значится, когда я делаю сайт с небольшим количеством ссылок и неглубокой системой навигации, то делаю ссылки вида index.php?page=page_id... И в зависимости от значения $page, выводится соответствующая инфа. Так вот вопрос в том, по какому принципу устроена навигация типа www.site.com/page/... Ведь везде один и тот же шаблон, как я понимаю... Так вот как этим лучше пользоваться, и как пользоваться вообще? ![]() Вроде понятно объяснил... по крайней мере, будем надеяться, что понятно ![]() |
![]() |
![]() |
# 2 |
::VIP::
Регистрация: 28.06.2002
Адрес: neverwhere
Сообщения: 1 166
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
для этого очень удобно использовать модуль Апача mod_rewrite
если по английски сечёшь, здесь подробные объяснения: http://www.alistapart.com/stories/urls/index.html http://www.alistapart.com/stories/succeed/ вкратце, этот модуль даёт Апачу возможность переписывать на лету адрес типа site.com/archive/23 в site.com/archive.php?id=23. очень удобная штука. |
![]() |
![]() |
# 3 |
::VIP::
Художник-2004 Регистрация: 04.11.2002
Адрес: Питер
Сообщения: 1 604
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Спасибо тебе
![]() Почиталя... ну там просто допопы инфы ![]() ![]() Может у тебя есть простой пример этого дела? :/ |
![]() |
![]() |
# 7 |
::VIP::
Художник-2004 Регистрация: 04.11.2002
Адрес: Питер
Сообщения: 1 604
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
medved2002
Слушай! По поводу ErrorDocument'а я давно спрашивал... Это мне очень интересно. Как хотя бы узнать что такого нарбал юзер и куда хотел попасть на моем сайте, если очутился на этом самом эррор-месте? ![]() Буду очень тебе благодарен ![]() ЗЫ Если доки есть, то пришли ![]() |
![]() |
![]() |
# 8 |
Guest
Сообщения: n/a
|
Вот этих переменных хватит выше крыши..
$_SERVER["REDIRECT_ERROR_NOTES"] $_SERVER["REDIRECT_REQUEST_METHOD"] - гет переменные $_SERVER["REDIRECT_STATUS"] - изза чего редеректнули у тя будет 404 $_SERVER["REDIRECT_URL"] - то что юзер набрал $_SERVER["QUERY_STRING"] - гет переменные $_SERVER["REQUEST_URI"] - то что юзер набрал ЗЫ А доку я тебе в ссылках дал.. Там подробнее некуда.. |
![]() |
# 9 | |
::VIP::
Художник-2004 Регистрация: 04.11.2002
Адрес: Питер
Сообщения: 1 604
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
![]() Может мне кто-нить просто пример даст, что надо прописать в .htaccess так, чтобы site.com/page_/part_/id_ превращалось в site.com/index.php?page=page_&part=part_&id=id_ Заранее сенькс ![]() ЗЫ А, да... В самом шаблоне че-нить прописывать надо? |
|
![]() |
![]() |
# 11 |
Junior Member
Регистрация: 21.05.2002
Адрес: spb
Пол: Male
Сообщения: 190
![]() ![]() |
Здесь на эту тему хорошо написано:
http://spectator.ru/technology/php/user_friendly_urls |
![]() |
![]() |
# 14 |
::VIP::
Регистрация: 28.06.2002
Адрес: neverwhere
Сообщения: 1 166
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
medved2002
делать это ErrorDocument-ом когда это можно элегантно сделать mod_rewrite-ом, на мой взгляд просто неприлично - это просто использование ErrorDocument не по назначению... ведь ErrorDocument оставляет логи в Апаче, и если ты, например, хочешь использовать логи для того чтобы находить дохлые линки, ты никак не сможешь определить где действительно не хватает файла, а где лог ошибки которая преднамеренно существует в такой «системе» навигации. Нет, не нравится мне такое. sanchos.fuge вот пример: Код:
.htaccess RewriteEngine on RewriteRule ^browse/([0-9]+)/([0-9]+) /home/virtual/site139/fst/var/www/html/browse.php?v[category]=$1&v[id]=$2 RewriteRule ^browse/([0-9]+) /home/virtual/site139/fst/var/www/html/browse.php?v[category]=$1 RewriteRule ^browse/$ /home/virtual/site139/fst/var/www/html/browse.php RewriteRule ^browse$ /home/virtual/site139/fst/var/www/html/browse.php и www.site.com/browse/foo2/ в опять-же www.site.com/browse.php главное, проставь абсолютный путь к адресу на который переписываешь. пробуй. Последний раз редактировалось Aeon; 01.08.2003 в 22:19. |
![]() |
![]() |
# 17 |
::VIP::
Художник-2004 Регистрация: 04.11.2002
Адрес: Питер
Сообщения: 1 604
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Aeon
![]() ![]() ![]() DOCUMENT_ROOT /home/local.my/www.site Сам файл index.php, через который нужно все обрабатывать на ходится на d:/fuge/apache/home/local.my/www.site/ Так вот как мне написать этот факин мод_реврайт? ![]() Заранее большое спасибо |
![]() |
![]() |
# 19 |
::VIP::
Художник-2004 Регистрация: 04.11.2002
Адрес: Питер
Сообщения: 1 604
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
RaZEr
У Aeon'а я спрашивал про mod_rewrite... И интернал еррор выдает из-за этого. А начсет 404... то страница лежит вместе с .htaccess. Он все понимает, но только если указать абсолюный урл 404-ой страницы, а так не находит ![]() |
![]() |