Ну может немного не в тему, но все же. Есть два вида УРЛов http://host.ru/topic/1/2/3/4/.... http://host.ru/?action=test&topic=1... Так вот второй УРЛ надо оставлять без изменений, а первый преобразовывать к виду http://host.ru/index.php?action=show&co ... ow&1=2&3=4 Нет облазил, но ничего подобного не нашел ЗЫ Желательно все таки ИСПОЛЬЗОВАТЬ mod_rewrite.
Нет, конечно. Маны то я нашел и примеры нашел. Но там используются какие то непонятные мне регулярные выражения, а полазил по примерам, там ничего подобного нет
Ximik вывод? освоить регулярки, достаточно мощная штука... сразу скажу, что сам их боюсь, но применяю методом научного тыка. А чтобы реврайт освоить почитал немного на этом форуме потом врубил в апаче чтобы он мне собирал логи действий реврайт модуля и тем же самым методом тыка довел до того что это не глючит... для твоей задачи будет примерно так выглядеть... Код (Text): /topic/([]+)/([]+)/([]+)/([]+)/... index.php?action=show&$1=$2&$3=$4 место между скобками [] оставлено потому что я не знаю что именно ты там будешь размещать если только цифры то везде что-то типа [0-9]+
.ntaccess Код (Text): RewriteEngine On RewriteBase /trash/rewrite2/ RewriteRule ^([a-z0-9]+)/$ index.php?action=$1 [L,QSA,NC] RewriteRule ^([a-z0-9]+)/([a-z0-9]+)/$ index.php?action=$1¶m1=$2 [L,QSA,NC] RewriteRule ^([a-z0-9]+)/([a-z0-9]+)/([a-z0-9]+)/$ index.php?action=$1¶m1=$2¶m2=$3 [L,QSA,NC] RewriteRule (.*) index.php?query=$1 [L,QSA,NC] index.php PHP: <? print 'index report: '.htmlentities($_SERVER['REDIRECT_QUERY_STRING']); ?> http://440hz.ru/trash/rewrite2/news/?b=b http://440hz.ru/trash/rewrite2/news/2007/05/?page=1
распечатай и повесь себе на стену: http://www.regioninfo.ru/mod_rewrite.php p.s. поиск в гугле занял 1 минуту. 4ая ссылка. http://www.google.ru/search?hl=ru&newwi ... NC&spell=1
Код (Text): RewriteRule ^([a-z0-9]+)/$ index.php?action=$1 [L,QSA,NC] RewriteRule ^([a-z0-9]+)/([a-z0-9]+)/$ index.php?action=$1¶m1=$2 [L,QSA,NC] RewriteRule ^([a-z0-9]+)/([a-z0-9]+)/([a-z0-9]+)/$ index.php?action=$1¶m1=$2¶m2=$3 [L,QSA,NC] Ну а если у меня десять-двацать праметром может быть, мне что такую уепочку для каждого писать? Может можно как то подругому?
Код (Text): RewriteEngine On RewriteRule ^([a-z0-9]+)/(.*)$ index.php?cms_action=show&cms_component=$1¶ms=$2 [L,QSA,NC] RewriteEngine Off Не работает. Почему? Пишет тупо 404. ЗЫ Кстати а как 404 перехватить, чтобы оно подсовывало 404.html?
Показ разных страниц, в зависимости от IP адреса посетителя? К чему это? По теме. Разобрался. Не надо было отключать
А если в URL’е использовать русские буквы(кириллицу). Например http://www.sait.ru/ДоскаОбьявлений/Автомабили/. Работать конечно будет но как к этому относятся поисковые роботы ? В Википедии используется и поисковик нормально находит такие строницы. http://ru.wikipedia.org/wiki/Драглайн http://ru.wikipedia.org/wiki/Программист У кого есть рабочие примеры или ссылки на такие?
А вот еще проблема из той же области. У меня картинки выдает скрипт, обращение к нему по типу photo.php?id=12345&size=s Сейчас весь сайт перевожу к удобочитаемым урлам, а как бы в этой связи сделать, чтобы фотографии выдавал этот же скрипт, но при обращении к нему в виде photo-12345-s.jpg Есть мнения?
есть мнение. перестаньте заниматься фигнёй. удобочитаемость урлов оставьте для статических страниц, создайте нормальную структуру директорий, подумайте, где разместить статику, а где динамику, и в динамические скрипты передавайте параметры по нормальному cgi-протоколу. уверяю вас, индексирование от этого не проиграет, а вот отсутствие rewriterule только увеличит производительность сервера (всё-таки экономим на запуске нескольких регулярных выражений на каждой странице).
stas_t Экономия на спичках, имхо. Любой запрос к БД съест всю эту экономию а ссылки без параметров, особенно короткие и читабельные, действительно красят сайт. starkeen RewriteEngine on RewriteRule ^photo-([0-9]+)-([a-z]+)\.[a-z]+$ /photo.php?id=$1&size=$2 [L]
Дело в том, что скрипт выдачи изображений заточен под определение прав доступа к картинке, к тому же, позволяет на лету создавать картинки разных размеров, а не хранить сразу весь контент на сервере. Dagdamor Спасибо, весь затык у меня вышел с сохранением расширения jpg.
starkeen Можно подставить любое - браузер определяет тип картинки по MIME-типу, а не по имени файла. header("Content-Type: image/gif");