Forum Webscript.Ru
Общие => Веб Сервера => Тема начата: от 12 Мая 2002, 15:21:47
-
Использую движок php+MySQL
Имена файлов статей получаются очень длинные, вида http://site.ru/index.php?rubr=22&news=33&id=1
Как сделать так, чтоб у статей был более привычный адрес
http://site.ru/22/33/1 ?
-
http://www.webscript.ru/stories.php3?story=52
http://detail.phpclub.net/technique/01-01-16/
http://detail.phpclub.net/technique/01-01-20/
-
http://www.phpdevs.com/
см. систему iCMS.
-
Попробую обобщить и задам свой вопрос...
Ясно, что ни PHP, ни MySQL здесь не причем - основную работу делает все-таки Apache. Я вижу три варианта использования его возможностей для решения этой задачи:
1) ErrorDocument 404 ... (модуль - Core)
2) AddHandler ... (модуль - mime)
3) RewriteRule ... (модуль - rewrite)
Меня интересует именно RewriteRule.
Понятно, что модуль mod_rewrite обычно отключают, т.к. он достаточно ресурсоемкий. Но если при компиляции/запуске Apache он все же включен, если ли у этого подхода какие-нибудь недостатки по сравнению с первым и вторым вариантами?
-
Поспешил, надо было сначала посмотреть вышеприведенные ссылки. Забыл:
4) Options Multiviews
и
5) ForceType ... (хотя этот вариант мало чем отличается от "AddHandler ...")
Вообще, неплохо бы сделать какую-нибудь сравнительную таблицу для FAQ\'а в соседний форум (Веб-сервера).
-
YA
На обработке ошибок работает довольно шустро.
Я в свое время каталог так делал.
mod_rewrite обычно отлючают.
AddHandler мало чем поможет.
ИМХО обработка 404 ошибки наиболее простой путь.
RewriteRule, конечно работает быстрее, однако его не дадут.
-
ThE0ReTiC
AddHandler мало чем поможет.
Да, знаю - путь не простой :), но раньше (пока не научился делать правильно) я его использовал, на одном сайте до сих пор успешно работает.
RewriteRule, конечно работает быстрее, однако его не дадут.
Ну это смотря где,.. и как попросить ;)
-
YA
Ну это смотря где,.. и как попросить
Ну смотри.
Эта схема, конечно будет работать побыстрее обработчика ошибок, однако надо писать довольно прилично оптимизированный скрипт и решение не будет легкопереносимым. Ведь не везде его включат.
Если разобрался - тема закрыта.
-
ThE0ReTiC
Если разобрался - тема закрыта.
Так я то давно разобрался :)
Вопрос не я задавал, я просто хотел подискутировать...