Как сделать правильные URL'ы

mckey

Новичок
Как сделать правильные URL'ы

Как сделать так, чтобы на сайте были человеческие урл'ы!

Имеется админ-часть сайта php+mysql, статьи там, новости. Всё работает, бегает и прыгает. Но хочется, чтобы вместо http://www.mysite.com/view.php?id=123 было что-то вроде http://www.mysite.com/name_of_article.html или ...com/name_of_article/ или даже ...com/2007/05/14/name_of_article.html

Первая мысль, это просто слить всё в статические html'и, но это как-то слишком в лоб. Да и обновлять/исправлять потом как-то может быть тяжеловато.
 

mckey

Новичок
Ушел читать про mod_rewrite.
Спасибо. ;)

-~{}~ 15.05.07 13:12:

Что-то не получается у меня. :(
Больше всего подходит: http://phpclub.ru/faq/chpu

в .htaccess пишу:

PHP:
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule (.*)$  index.php/$1 [QSA]
В ответ получаю:

PHP:
Bad Request
Your browser sent a request that this server could not understand.
Как правильно написать RewriteRule, что все УРЛы обрабатывались index.php?
 

Фанат

oncle terrible
Команда форума
не стоит все урлы обрабатывать через index.php
картинки и мп3 файлы не очень похожи на пхп скрипты
 

mckey

Новичок
Ну так в index.php я буду УРЛ анализировать и в зависимоти от того, что спрашиваю отдавать.

Или я что-то не так понял?
 

Фанат

oncle terrible
Команда форума
ты уверен что хочешь отдавать картинки в index.php?
 

mckey

Новичок
Хм, а чем мне это грозит?

Я в index.php могу опредлить, что это картинка и дать её пользователю с нормальным заголовком. Или не могу?

И всё-таки я не понимаю, почему не работает RewriteRule, как написано в примере? Может Апач старый? Или mod_rewrite.so?
Я уже и http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html изучаю - всё-равно не работает. %(
 

Фанат

oncle terrible
Команда форума
можешь.
только непонятно, зачем это делать скриптом.

а про Bad Request в сочетании с мод реврайтом почитай в гугле. наверняка там что-то есть.

версия mod_rewrite врядли имеет знавение - он же входит в дистрибутив апача
 

mckey

Новичок
Из примера вот это:
PHP:
RewriteRule (.*)$  index.php/$1 [QSA]
заменил на :
PHP:
RewriteRule (.*)$  /index.php/$1 [QSA]
Заработало! :confused:
 

webdreamer

Новичок
Шестой Битрикс читал что по умолчанию выдает уже правильные урлы
 

Bakti9rov

!*|=?
у меня ЧПУшки начинаются с "ru|en", поэтому картинки/стили/жс загружаются как есть
 
Сверху