Автор Тема: Преобразование php?id=123 в /123  (Прочитано 4974 раз)

0 Пользователей и 1 Гость просматривают эту тему.

  • Гость
Преобразование 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  ?

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
Евгений aka Razor,

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Преобразование php?id=123 в /123
« Ответ #2 : 12 Мая 2002, 19:38:48 »
http://www.phpdevs.com/
см. систему iCMS.
с уважением,
магистр белой магии.

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Преобразование php?id=123 в /123
« Ответ #3 : 13 Мая 2002, 09:32:28 »
Попробую обобщить и задам свой вопрос...

Ясно, что ни PHP, ни MySQL здесь не причем - основную работу делает все-таки Apache. Я вижу три варианта использования его возможностей для решения этой задачи:
1) ErrorDocument 404 ... (модуль - Core)
2) AddHandler ... (модуль - mime)
3) RewriteRule ... (модуль - rewrite)
Меня интересует именно RewriteRule.
Понятно, что модуль mod_rewrite обычно отключают, т.к. он достаточно ресурсоемкий. Но если при компиляции/запуске Apache он все же включен, если ли у этого подхода какие-нибудь недостатки по сравнению с первым и вторым вариантами?
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Преобразование php?id=123 в /123
« Ответ #4 : 13 Мая 2002, 09:49:23 »
Поспешил, надо было сначала посмотреть вышеприведенные ссылки. Забыл:
4) Options Multiviews
и
5) ForceType ... (хотя этот вариант мало чем отличается от "AddHandler ...")

Вообще, неплохо бы сделать какую-нибудь сравнительную таблицу для FAQ\'а в соседний форум (Веб-сервера).
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Преобразование php?id=123 в /123
« Ответ #5 : 13 Мая 2002, 13:28:15 »
YA
На обработке ошибок работает довольно шустро.
Я в свое время каталог так делал.
mod_rewrite обычно отлючают.
AddHandler мало чем поможет.
ИМХО обработка 404 ошибки наиболее простой путь.
RewriteRule, конечно работает быстрее, однако его не дадут.
AS IS...

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Преобразование php?id=123 в /123
« Ответ #6 : 13 Мая 2002, 14:04:11 »
ThE0ReTiC
Цитировать
AddHandler мало чем поможет.

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

Ну это смотря где,.. и как попросить ;)
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Преобразование php?id=123 в /123
« Ответ #7 : 13 Мая 2002, 14:10:05 »
YA
Цитировать
Ну это смотря где,.. и как попросить

Ну смотри.
Эта схема, конечно будет работать побыстрее обработчика ошибок, однако надо писать довольно прилично оптимизированный скрипт и решение не будет легкопереносимым. Ведь не везде его включат.
Если разобрался - тема закрыта.
AS IS...

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Преобразование php?id=123 в /123
« Ответ #8 : 13 Мая 2002, 15:27:13 »
ThE0ReTiC
Цитировать
Если разобрался - тема закрыта.

Так я то давно разобрался :)
Вопрос не я задавал, я просто хотел подискутировать...
Литературный перевод с русского и английского на Perl. Дорого!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28