Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Apache+mod_rewrite

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Открыть новую тему     Написать ответ в эту тему

Vanya

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Значит так-с. (АПАЧ)
Есть такая конструкция http://domain.ru/?id=1
Надо чтобы была такая http://domain.ru/chapter1 ну или http://domain.ru/1
И ко всему прочему, чтобы это еще и работало. Есть такой механизЬм mod_rewrite и что то типа RwriteEngine on прописывается в .htaccess Но как это настраивается чтобы было как мне надо, я не знаю. Кто сможет чем помочь?
 
 


FAQ по Apache
Apache + mod_rewrite: замена ссылок
Руководство по URL преобразованиям
Модуль Apache mod_rewrite - подробнейшее описание на русском

Всего записей: 8 | Зарегистр. 19-09-2002 | Отправлено: 08:53 30-10-2002 | Исправлено: lynx, 01:01 15-02-2004
keha



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хочу, чтобы при работе форума было
http://forum.мойдомен.ru/ikonboard.cgi
вместо
http://forum.мойдомен.ru/cgi-bin/ikonboard/ikonboard.cgi
не показывались лишние директории
 
Может кто-нибудь объяснить почему работает код

Код:
 
RewriteRule   ^([a-z]*)\.cgi$    cgi-bin/ikonboard/$1.cgi
 

и не работает

Код:
 
RewriteRule   ^(.*)\.cgi$    cgi-bin/ikonboard/$1.cgi
 

Первый код не хочу оставлять, так как он заметно притормаживает при каждом переходе (на 2-3 секунды). Что ни есть здорово.
 
Добавлено
Ех. Ступил.
В общем, второй код заменился на такой и все заработало...

Код:
RewriteRule  ^([^/]+)\.cgi$   cgi-bin/ikonboard/$1.cgi

Всего записей: 82 | Зарегистр. 15-08-2001 | Отправлено: 12:44 10-12-2004 | Исправлено: keha, 12:46 10-12-2004
phpbbmods

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые,
Совсем запутался
Есть значит /catalog/
Пишу в RewriteRule ^ catalog /(.*)/$   catalog/index.php?prd=$1
Все работает на ура  
но когда начинаю разбирать на страницы  
бред получается, может я туплю?
Выборка с mysql по полю prd
Разбиваю на страницы все ок  считает и проставляет номера
А вот вывод не идет там  использую catalog/index.php?page=1 и тд
Что то посоветуете  
Заранее благодарю,

Всего записей: 322 | Зарегистр. 09-02-2004 | Отправлено: 15:16 21-12-2004
Tropin



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
phpbbmods
Три раза прочитал, но ничего не понял...
Что не работает и что хочется получить в итоге?

----------
Вот потому, что вы говорите то, что не думаете и думаете то, что не думаете, вот в клетках и сидите... (C) Кин-дза-дза

Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 17:06 21-12-2004
phpbbmods

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tropin
что не онятно? prd=name вывод /catalog/name.html
если name штук 50 надо разбить на страницы /catalog/name.html?page=1
может просто это не реально???

Всего записей: 322 | Зарегистр. 09-02-2004 | Отправлено: 17:37 21-12-2004
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
phpbbmods
я тоже не понял%)
 
---
 
Подскажите плиз как сделать, что бы все адреса: хттп://урл/страница на деле читались из хттп://урл/РУ/страница (кроме отдельно указанных каталогов-языков)
 
или же чтобы при заходе на хттп://урл/страница бровзер жестко редиректило (в смысле меняло адрес и грузило оттудова) на хттп://урл/РУ/страницу (с исключениями аналогично вышеописанному)
 
второй вариант даже предпочтительнее - буду признателен за помощь

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 18:19 21-12-2004
Tropin



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
xy
RewriteCond %{REQUEST_URI} !^/РУ/*$
RewriteCond %{REQUEST_URI} !^/ЕН/*$
RewriteRule ^(.*)$ хттп://урл/РУ/$1 [R]
 
phpbbmods
Ну не въезжаю я....
Пойду дома подумаю...

----------
Вот потому, что вы говорите то, что не думаете и думаете то, что не думаете, вот в клетках и сидите... (C) Кин-дза-дза

Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 19:03 21-12-2004
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tropin
!!
спасибо!
 
Добавлено
хм.. не работает, а можно еще, чтоб к урлу привязано небыло (т.е. оставалось внутри того же урла, но явно урл не указывался)

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 19:10 21-12-2004
phpbbmods

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Еще раз
есть скрипт выводит с mysql поле prd=name
текстовое поле txt соответственно с текстом,
пишем RewriteRule ^ catalog /(.*)/$   catalog/index.php?prd=$1
при выводе /catalog/name.html видно все записи поля txt
вот значит кода много записей разбиваю на страницы
все ок там типа создаются ссылки catalog/name/page=1 и тд
вот как преобразовать  
чтобы было catalog/name/1/

Всего записей: 322 | Зарегистр. 09-02-2004 | Отправлено: 20:46 21-12-2004
Tropin



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
xy

Цитата:
хм.. не работает

какой именно "хм" не работает? ;)
 

Цитата:
а можно еще, чтоб к урлу привязано небыло

читаем http://httpd.apache.org/docs-2.0/mod/mod_rewrite.html#rewriterule, судя по всему можно
Код:
RewriteRule ^(.*)$ /РУ/$1 [R]

 
 
phpbbmods

Код:
RewriteRule ^catalog/name/page=(.*)$ /catalog/name/$1


----------
Вот потому, что вы говорите то, что не думаете и думаете то, что не думаете, вот в клетках и сидите... (C) Кин-дза-дза

Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 11:28 22-12-2004
Vladroman



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Меняю RewriteRule'ом запрос "page/" на "page.php", но возникает проблема с относительными путями на "page.php", то бишь рисунки, стили и пр. перестают загружаться. Подскажите, пожалуйста, как решить проблему без переписывания ссылок на странице.

Всего записей: 413 | Зарегистр. 23-09-2003 | Отправлено: 22:54 26-01-2005
xntx



хнотик-багоискатель
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Vladroman
добавь в хеад:
<base href='http://www.site.com/'>
у меня так работает

----------
Hello world!

Всего записей: 5169 | Зарегистр. 15-02-2003 | Отправлено: 00:40 27-01-2005
Vladroman



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
xntx
Добавить-то можно, но какое отношение это к рерайту-то имеет?

Всего записей: 413 | Зарегистр. 23-09-2003 | Отправлено: 01:03 27-01-2005
Tropin



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Vladroman
xntx прав, обозреватель же думает, что в данный момент находится в папке /page/, ему пофиг, что скрипт выполняется в корне, собственно он и картинки ищет по относительному пути...
Я, например, просто использовал абсолютные, то есть /img/picture.png...


----------
Вот потому, что вы говорите то, что не думаете и думаете то, что не думаете, вот в клетках и сидите... (C) Кин-дза-дза

Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 10:21 27-01-2005
dacuan

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Столкнулся с проблемой:  
После преобразования mod_rewrite еще раз прогоняет полученый урл через все правила. При этом во всех правилах использую флаг [L], который, по ману, должен пресекать подобное поведение.
Кто-нибудь знает, как решить подобную проблему?
Версия апача 2.0.40
ОС: ASP Linux 9.0

Всего записей: 545 | Зарегистр. 23-10-2003 | Отправлено: 19:18 27-01-2005
Vladroman



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Tropin
Прописал BASE - проблема решилась со всем, кроме форм. То бишь при отправке форма в упор не видит этот BASE, а считает относительный путь, исходя из текущего адреса. Можно как-нибудь исправить или пути для форм все-таки придется переписывать?

Всего записей: 413 | Зарегистр. 23-09-2003 | Отправлено: 14:04 28-01-2005
Tropin



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Vladroman
Если честно, то понятия не имею... а есть сложность в переписывании путей?

----------
Вот потому, что вы говорите то, что не думаете и думаете то, что не думаете, вот в клетках и сидите... (C) Кин-дза-дза

Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 14:53 28-01-2005
Vladroman



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Tropin, угу, больно много переписывать.

Всего записей: 413 | Зарегистр. 23-09-2003 | Отправлено: 15:32 28-01-2005
Tropin



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Vladroman
Как вариант, можно для картинок тоже сделать rewrite, ну то есть обозреватель их запрашивает как page/img/picture.jpg, а сервер их трактует как просто как img/picture.jpg
 
Но минус такого подхода в снижении скорости, то есть урлы будут реврайтиться для каждой маломальской картинки.... потому лучше один раз самому (с использованием любых инструментов) поменять все ссылки, чем это будет тысячи раз делать сервер!

----------
Вот потому, что вы говорите то, что не думаете и думаете то, что не думаете, вот в клетках и сидите... (C) Кин-дза-дза

Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 16:03 28-01-2005
Vladroman



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Tropin
С картинками и прочим я проблему решил с помощью "BASE" (спасибо xntx ), остались проблемы с формами и, похоже, с javascript. С первым все довольно определенно: обычная форма (типа той, что есть на этой странице для отправки сообщения) при методе "POST" не учитывает "BASE" и отправляет не на страницу site.com/lala.php, а на site.com/page/lala.php. Со скриптами вообще не понятно, то верно путь определяет, то нет. В принципе, я уже взялся за переписывание путей на абсолютные, но хочется просто разобраться, где собака порылась.

Всего записей: 413 | Зарегистр. 23-09-2003 | Отправлено: 19:49 28-01-2005
Tropin



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
просто разобраться, где собака порылась

а что ту непонятного? просто "BASE" работает не для всех тегов, а только для "A", ну и возможно еще каких-то типа "IMG" "LINK" и пр...
Я вообще никогда не работал с этим тегом, ибо на стадии проектирования выбираю какие ссылки будут относительными, а какие абсолютными и менять еще ни разу не приходилось ;)

----------
Вот потому, что вы говорите то, что не думаете и думаете то, что не думаете, вот в клетках и сидите... (C) Кин-дза-дза

Всего записей: 538 | Зарегистр. 25-11-2002 | Отправлено: 15:27 29-01-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Apache+mod_rewrite


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru