ЧПУ в примерах

1K
.

Привет.

Покажите правильный код для файла .htaccess
чтобы пользователю, при переходе по адресу site.ru/aaa.php, показывалось в адресной строке site.ru/bbb, например.

.
(\/)____o_O____(\/)

intelligent, тут стопятцот тем подобного хатактера

.

эммм
ни че что я ссылкой? http://ruseller.com/lessons.php?id=309

.
intelligent

Пишу так:
RewriteRule ^bbb$ aaa.php

Захожу на site.ru/bbb -> всё как надо.
Захожу на site.ru/aaa.php -> страница открывается, но не перенаправляет на site.ru/bbb

Что не так?

.
(\/)____o_O____(\/)

intelligent, там есть хитрости, сейчас опишу

.

ни чего не так. ты не прочитал что такое реврайт.
он не перенаправляет пользователя без указания на это [R=301,L]

.
(\/)____o_O____(\/)

intelligent, RewriteCond %{HTTP_HOST} ^([^\.]+)\.site\.ru$ [NC]
RewriteCond %{HTTP_HOST} !^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/?user=%1 [R,QSA]
в итоге ты набираешь vasya.site.ru , скрипт обрабатывается, но редирект не происходит, то есть адрес страницы остается vasya.site.ru , а не site.ru?user=vasya , а содержимое отдается нужное

.
(\/)____o_O____(\/)

intelligent, ну и как бы надо еще алиасы запилить для работы подобного, а то поддомены будет зырить

.
ramzes

эм.. проще так: если нужен качественный реврайт (сложный короче, и разнообразный)
надо немного изучить регулярки, и прочитать про флаги (то что указано в квадратных скобках после правила перенаправления)
там всего 2 части, правило и флаг.
ну и немного настроек, типа реврайт-бейс

.
(\/)____o_O____(\/)

ramzes, ну если не сильно заморациваться и все пилить в коневой хитач, то базу так и определяем в корне

Всего: 33