Forum Webscript.Ru

Общие => Веб Сервера => Тема начата: от 12 Мая 2002, 15:21:47

Название: Преобразование php?id=123 в /123
Отправлено: от 12 Мая 2002, 15:21:47
Использую движок php+MySQL
Имена файлов статей получаются очень длинные, вида http://site.ru/index.php?rubr=22&news=33&id=1

Как сделать так, чтоб у статей был более привычный адрес
http://site.ru/22/33/1  ?
Название: Преобразование php?id=123 в /123
Отправлено: Britva от 12 Мая 2002, 15:31:58
http://www.webscript.ru/stories.php3?story=52
http://detail.phpclub.net/technique/01-01-16/
http://detail.phpclub.net/technique/01-01-20/
Название: Преобразование php?id=123 в /123
Отправлено: Dm от 12 Мая 2002, 19:38:48
http://www.phpdevs.com/
см. систему iCMS.
Название: Преобразование php?id=123 в /123
Отправлено: YA от 13 Мая 2002, 09:32:28
Попробую обобщить и задам свой вопрос...

Ясно, что ни PHP, ни MySQL здесь не причем - основную работу делает все-таки Apache. Я вижу три варианта использования его возможностей для решения этой задачи:
1) ErrorDocument 404 ... (модуль - Core)
2) AddHandler ... (модуль - mime)
3) RewriteRule ... (модуль - rewrite)
Меня интересует именно RewriteRule.
Понятно, что модуль mod_rewrite обычно отключают, т.к. он достаточно ресурсоемкий. Но если при компиляции/запуске Apache он все же включен, если ли у этого подхода какие-нибудь недостатки по сравнению с первым и вторым вариантами?
Название: Преобразование php?id=123 в /123
Отправлено: YA от 13 Мая 2002, 09:49:23
Поспешил, надо было сначала посмотреть вышеприведенные ссылки. Забыл:
4) Options Multiviews
и
5) ForceType ... (хотя этот вариант мало чем отличается от "AddHandler ...")

Вообще, неплохо бы сделать какую-нибудь сравнительную таблицу для FAQ\'а в соседний форум (Веб-сервера).
Название: Преобразование php?id=123 в /123
Отправлено: ThE0ReTiC от 13 Мая 2002, 13:28:15
YA
На обработке ошибок работает довольно шустро.
Я в свое время каталог так делал.
mod_rewrite обычно отлючают.
AddHandler мало чем поможет.
ИМХО обработка 404 ошибки наиболее простой путь.
RewriteRule, конечно работает быстрее, однако его не дадут.
Название: Преобразование php?id=123 в /123
Отправлено: YA от 13 Мая 2002, 14:04:11
ThE0ReTiC
Цитировать
AddHandler мало чем поможет.

Да, знаю - путь не простой :), но раньше (пока не научился делать правильно) я его использовал, на одном сайте до сих пор успешно работает.
Цитировать
RewriteRule, конечно работает быстрее, однако его не дадут.

Ну это смотря где,.. и как попросить ;)
Название: Преобразование php?id=123 в /123
Отправлено: ThE0ReTiC от 13 Мая 2002, 14:10:05
YA
Цитировать
Ну это смотря где,.. и как попросить

Ну смотри.
Эта схема, конечно будет работать побыстрее обработчика ошибок, однако надо писать довольно прилично оптимизированный скрипт и решение не будет легкопереносимым. Ведь не везде его включат.
Если разобрался - тема закрыта.
Название: Преобразование php?id=123 в /123
Отправлено: YA от 13 Мая 2002, 15:27:13
ThE0ReTiC
Цитировать
Если разобрался - тема закрыта.

Так я то давно разобрался :)
Вопрос не я задавал, я просто хотел подискутировать...