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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
rolph



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Народ, подскажите плиз, периодически выскакивает в логах такая ошибка:
 
[Thu Jun 14 10:31:51 2007] [debug] mod_rewrite.c(1644): [client 212.33.30.18] mod_rewrite's internal redirect status: 0/10.
 
Причем, для виртуального хоста, mod_rewrite не задан, задан только для другого виртуального хоста.

Всего записей: 26 | Зарегистр. 01-02-2006 | Отправлено: 12:08 14-06-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rolph

Цитата:
периодически выскакивает в логах такая ошибка:

это не ошибка.. выглядит так, что ни одно правило не сработало

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 05:51 15-06-2007
Charodei

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите разобраться, что мне нужно прописать в .htaccess
 
Есть ссылки:
http://test.ru/index.php/2007/07/10/test1
or
http://test.ru/index.php/2007/07/10/1232
 
Хочу, чтобы было по человечески:
http://test.ru/2007/07/10/test1
http://test.ru/2007/07/10/1232

Всего записей: 21 | Зарегистр. 07-05-2006 | Отправлено: 16:36 11-07-2007
CTaJIuH



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Раз уж пошла такая пьянка, то и мне помогите разобраться :
 
Есть ссылки:
http://test.ru/index_en.html
http://test.ru/index_ru.html
 
Хочу, чтобы было:
http://test.ru/en/
http://test.ru/ru/
 
Заранее спасибо!
 
[updated]
сделал так -  
RewriteRule ^en/$ index_en.html [NC]
RewriteRule ^ru/$ index_ru.html [NC]
 
потом увидел что include файлы не грузятся в "новые" страницы. оказалось что надо к адресам дописать "/" в начало и всё будет работать :) уря!

Всего записей: 232 | Зарегистр. 05-03-2003 | Отправлено: 13:18 16-07-2007 | Исправлено: CTaJIuH, 16:32 16-07-2007
Break_Action



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, может кто подскажет, можно ли при помощи mod_rewrite, редиректить POST запросы. Если, и вам не сложно поясните на простом примере как это возможно.
За ранее благодарен.

Всего записей: 296 | Зарегистр. 12-09-2001 | Отправлено: 21:34 17-07-2007 | Исправлено: Break_Action, 04:05 18-07-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Break_Action

Цитата:
Народ, может кто подскажет, иожно ли при помощи mod_rewrite, редиректить POSt запросы.

эм.. собственно mod_rewrite все равно.. post это или get запрос


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:40 17-07-2007
Break_Action



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Если вас не затруднит, приведите, пожалуйста, пример работы!

Всего записей: 296 | Зарегистр. 12-09-2001 | Отправлено: 22:28 17-07-2007
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Break_Action

Цитата:
Если вас не затруднит, приведите, пожалуйста, пример работы!

пример какой работы????
еще раз.. пиши правило.. апачу нет разницы что перекидывать - get или post запрос


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:30 17-07-2007
Break_Action



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Может у вас есть возможность мне помочь, дело в том, что немогпонять как правильно описать разборку POST запроса.
Имеем следующую схему
name1=value1&name2=value2&name3=value3&...&nameN=valueN
Вопрос как ее правильно разобрать и после правильно подставить
 
Добавлено
Сорри господа за вопрос, вопрос решился сам собой, просто надо было чуть смекалистее подойти к вопросу!

Всего записей: 296 | Зарегистр. 12-09-2001 | Отправлено: 10:12 18-07-2007 | Исправлено: Break_Action, 21:57 18-07-2007
iogun



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите как настроить mod_rewrite для Apache 2 + windows Server, возможно ли использование .htaccess в каталоге с сайтом?

Всего записей: 477 | Зарегистр. 31-08-2004 | Отправлено: 15:08 14-08-2007
mtxd

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Прошу открыть глаза на причину неработы следющих условий:
 

Код:
 
RewriteRule ^([a-z]*) index.php?lang=$1 [NS,NC,L]
 

Захожу domain.com/en/ - все работает.
 

Код:
 
RewriteRule ^([a-z]*)/([a-z\_]*) index.php?lang=$1&vendor=$2 [NS,NC,L]
 

Заходит по domain.com/en/ и domain.com/en/intel/
 

Код:
 
RewriteRule ^([a-z]*)/([a-z\_]*)/([a-z\_]*) index.php?lang=$1&vendor=$2&drvname=$3 [NS,NC,L]
 

domain.com/en/ теперь выдет 404, по адресам domain.com/en/intel/ и domain.com/en/intel/INF_update_utility заходит без проблем.
 
Дальше ещё интереснее...
 

Код:
 
RewriteRule ^([a-z]*)/([a-z\_]*)/([a-z\_]*)/([a-z]*) index.php?lang=$1&vendor=$2&drvname=$3&action=$4 [NS,NC,L]
 

 
domain.com/en/ и domain.com/en/intel/ больше не заходит, 404. domain.com/en/intel/INF_update_utility/ и domain.com/en/intel/INF_update_utility/download/ открывается без проблем.
 
Прошу совета, как это понять?

Всего записей: 206 | Зарегистр. 29-01-2003 | Отправлено: 18:10 05-09-2007 | Исправлено: mtxd, 18:12 05-09-2007
dacuan

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

Цитата:
Прошу совета, как это понять?

Все очень просто, УРЛ-ы не соответствуют шаблону. Подозреваю что следующий код будет работать:

Код:
RewriteRule ^([a-z]*)/(([a-z\_]*)/(([a-z\_]*)/([a-z]*)?)?)? index.php?lang=$1&vendor=$3&drvname=$5&action=$6 [NS,NC,L]

Внимание! Правило требует закрывающего слэша для всех случаев кроме domain.com/en/intel/INF_update_utility/download
 
ЗЫ В таких ситуациях лучше сначала попробовать разобраться в логах преобразования, и только после этого постить вопрос на форум.

Всего записей: 545 | Зарегистр. 23-10-2003 | Отправлено: 18:42 05-09-2007
mtxd

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dacuan, ба... вот оно как. В паре с RewriteCond %{REQUEST_FILENAME} !-f работает. Только почему-то ваш пример логически отличаются от тех, что я нашел в разных мануалах. Не затруднит ткнуть носом в "нормальный"?
 

Цитата:
В таких ситуациях лучше сначала попробовать разобраться в логах преобразования
К сожалению, RewriteLog пуст.
 

Цитата:
Внимание! Правило требует закрывающего слэша для всех случаев кроме domain.com/en/intel/INF_update_utility/download
Работает и с trailing slash'ем.
 
Ещё раз спасибо.

Всего записей: 206 | Зарегистр. 29-01-2003 | Отправлено: 22:53 05-09-2007
dacuan

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mtxd
Это обычная регулярка, учитывающая, что часть урла не обязательна.
 

Цитата:
К сожалению, RewriteLog пуст.

А какой уровень логирования стоит?

Всего записей: 545 | Зарегистр. 23-10-2003 | Отправлено: 10:21 06-09-2007
mtxd

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

Цитата:
Это обычная регулярка, учитывающая, что часть урла не обязательна.
Тогда ладно, об этом толковых статей тоже не много.
 

Цитата:
А какой уровень логирования стоит?
Даже при 9 лог пустой

Всего записей: 206 | Зарегистр. 29-01-2003 | Отправлено: 11:40 06-09-2007 | Исправлено: mtxd, 11:48 06-09-2007
dacuan

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

Цитата:
Тогда ладно, об этом толковых статей тоже не много.

Набрал в гуле "Руководство по регулярным выражениям" выдало кучу ссылок
Например,
http://www.ilovejackdaniels.com/cheat-sheets/regular-expressions-cheat-sheet
 

Цитата:
Даже при 9 лог пустой

Где-то глюк в настройках, должно работать

Всего записей: 545 | Зарегистр. 23-10-2003 | Отправлено: 12:02 06-09-2007
mtxd

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dacuan
Спасибо за заботу, поиском пользуюсь. Я говорил о "толковых" статьях. Согласись, таких крайне мало. Под толковыми я подразумеваю легкопонятные для неподготовленного читателя.
 

Цитата:
Где-то глюк в настройках, должно работать
Должно. RewriteLog указан, создался, левел тоже максимальный. Больше, вроде, ничего не требуется.

Всего записей: 206 | Зарегистр. 29-01-2003 | Отправлено: 13:51 06-09-2007
dacuan

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

Цитата:
Под толковыми я подразумеваю легкопонятные для неподготовленного читателя.

Регулярные выражения не совсем та вещь, которая понятна "неподготовленному пользователю". Сам учил регулярки по учебнику Perl, можете попробовать так.
 

Цитата:
Должно. RewriteLog указан, создался, левел тоже максимальный. Больше, вроде, ничего не требуется.

При этих настройках у меня все работает. Тестировалось на линуксах от ASP 9.0 до Fedora 4.

Всего записей: 545 | Зарегистр. 23-10-2003 | Отправлено: 17:30 06-09-2007
mtxd

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dacuan
Это сложнее чем предполагалось
 
Можно попросить дополнить

Цитата:
RewriteRule ^([a-z]*)/(([a-z\_]*)/(([a-z\_]*)/([a-z]*)?)?)? index.php?lang=$1&vendor=$3&drvname=$5&action=$6 [NS,NC,L]
ещё одной переменной &filename=$x?
 
Пошел учить основы регулярок...

Всего записей: 206 | Зарегистр. 29-01-2003 | Отправлено: 12:29 11-09-2007 | Исправлено: mtxd, 12:38 11-09-2007
dacuan

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

Код:
RewriteRule ^([a-z]*)/(([a-z\_]*)/(([a-z\_]*)/([a-z\_]*/([a-z\_]*)?)?)?)? index.php?lang=$1&vendor=$3&drvname=$5&action=$6&filename=$7 [NS,NC,L]

Всего записей: 545 | Зарегистр. 23-10-2003 | Отправлено: 12:46 11-09-2007
Открыть новую тему     Написать ответ в эту тему

Страницы: 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