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

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

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cacka
Попробуй так:
RewriteEngine on  
Options +FollowSymlinks  
RewriteBase /  
RewriteRule  ^game/([0-9]+)\.html$ game/?id=$1

Всего записей: 545 | Зарегистр. 23-10-2003 | Отправлено: 15:39 07-02-2006
Cacka



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dacuan
попробовал, эффект тот же - ссылка не преобразовывается

Всего записей: 115 | Зарегистр. 12-07-2005 | Отправлено: 15:44 07-02-2006
dacuan

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cacka
В настройках хоста добавь две строчки
 
RewriteLog logs/site.rewrite.log
RewriteLogLevel 9
 
Перезапусти апача и посмотри, что пишется в файл site.rewrite.log

Всего записей: 545 | Зарегистр. 23-10-2003 | Отправлено: 16:31 07-02-2006
Cacka



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dacuan, у меня нет доступа к запуску апача, и к его конфигу. А RewriteLog, насколько я знаю, в .htaccess не работает.

Всего записей: 115 | Зарегистр. 12-07-2005 | Отправлено: 17:07 07-02-2006
dacuan

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cacka
1) Скрипт лежит в корне веб-сервера или в /game ?
 
2) Что ты подразумеваешь под
Цитата:
но реакции ноль
 
 
Что происходит при попытки открыть http://host/game/123.html ?
 
3) Ты уверен, что отрабатывает именно этот скрипт? Попробуй совершить ошибку в настройках и посмотреть выведется ли Error 500

Всего записей: 545 | Зарегистр. 23-10-2003 | Отправлено: 17:24 07-02-2006
Cacka



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dacuan, извиняюсь, Ваш вариант прокатил У меня не получалось только из-за собственных глюков.

Всего записей: 115 | Зарегистр. 12-07-2005 | Отправлено: 23:40 07-02-2006
Jan MOSAD



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть ОСь с FreeBSD 4.10+PHP 5+Apache 2.2.  
Апач собирал с:  
./configure  
--prefix=/usr/local/apache2  
--enable-so  
--enable-ssl  
--with-ssl=/usr/local/ssl/bin  
--enable-module=shared  
--enable-module=rewrite  
--enable-rewrite=shared
PHP пишет, что данный мод есть:  
Loaded Modules: mod_rewrite mod_php5
.htaccess есть перезапись:
<IfModule mod_rewrite.c>  
  RewriteEngine on  
 
  RewriteBase /  
   
  # Rewrite current-style URLs of the form 'index.php?q=x'.  
  RewriteCond %{REQUEST_FILENAME} !-f  
  RewriteCond %{REQUEST_FILENAME} !-d  
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]  
</IfModule>
Но - не работает перекодировка скажем  
?q=admin в /admin  
 Где грабли??? Уже из-под портов ставил - всё то же (( Проблема осталась и ОЧЕНЬ КРИТИЧНА для меня.

Всего записей: 166 | Зарегистр. 15-12-2001 | Отправлено: 18:34 04-03-2006
Cheery



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

Цитата:
Где грабли???

включаем логирование обработки в mod_rewrite и смотрим.
то, что у тебя написано, должно переделывать /admin  в ?q=admin, а не то, что ты написал выше.
плюс убери <IfModule mod_rewrite.c>  и закрытие и посмотри - выдаст ли ошибку..  
варианты - не грузится модуль.. или не разрешено изменение FileInfo для данной папки через Allowoverride в httpd.conf

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:09 05-03-2006
Jan MOSAD



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
10х всем - проблема найдена:
Allowoverride в httpd.conf стоял в None, изменил в All - всё заработало.

Всего записей: 166 | Зарегистр. 15-12-2001 | Отправлено: 12:30 06-03-2006
Cacka



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
скажите, а можно с помощью mod_rewrite сделать, чтобы все русские символы в URL менялись на английские?
Т.е. А = A, Б = B, Ж = Zh и т.п.

Всего записей: 115 | Зарегистр. 12-07-2005 | Отправлено: 15:25 06-03-2006
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cacka
проще всего перекидывать на скрипт, который будет обрабатывать строку запроса, переделывать и перекидывать по новому адресу.

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:58 06-03-2006
Cacka



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

Всего записей: 115 | Зарегистр. 12-07-2005 | Отправлено: 07:56 07-03-2006
Cheery



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

Цитата:
гм...в том то и дело, что скрипт английские символы обрабатывает нормально, а вот русские - нет.

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

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:35 07-03-2006
Cacka



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а как модреврайтом можно сделать замену "+" в урл на "_" ?
 
т.е. есть к примеру ссылка вида /catalog/?name=Pipa+Popa
и хочется превратить её в ссылку вида /name/Pipa_Popa.html

Всего записей: 115 | Зарегистр. 12-07-2005 | Отправлено: 02:58 30-03-2006 | Исправлено: Cacka, 03:02 30-03-2006
Cheery



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

Цитата:
а как модреврайтом можно сделать замену "+" в урл на "_" ?

в url не должно быть +, они могут быть только в переменных запроса
 


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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 03:01 30-03-2006
Cacka



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
хм...пока редактировал свою мессагу, мне уже ответили...
 
там как раз и есть запрос.

Всего записей: 115 | Зарегистр. 12-07-2005 | Отправлено: 03:04 30-03-2006
kronik

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
немогу найти, да простят меня модераторы.  
 
Только недавно начал работать с apache, нужен совет, как сделать, что б вместо моего ip появлялся определённый домен. А то свой ip лишний раз на показ выставлять нехочется!!! Зарание спасибо.  

Всего записей: 12 | Зарегистр. 22-02-2006 | Отправлено: 18:00 10-05-2006
Cheery



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

Цитата:
Только недавно начал работать с apache, нужен совет, как сделать, что б вместо моего ip появлялся определённый домен

сам понял, что сказал?
если есть имя, то значит оно привязано к IP и любой может его узнать
а так.. покупаешь доменное имя, привязываешь в DNS к своему IP и тд и тп.. и mod_rewrite тут не при чем.

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:07 10-05-2006
NetAndy



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите плз с таким делом
есть конструкция в виде  
 
<VirtualHost xxx.xxx.xxx.xxx>
    ServerName vasya.puplin.ru
    AllowOverride all
    Options FollowSymlinks Includes
    RewriteEngine on
    RewriteRule ^/(.*) http://192.168.35.112/$1 [P]
</VirtualHost>
 
так вот вопрос как на хосте котрый внутри сети (куда делается Rewrite) получить в логах Апача не ип вышестоящего апача, а реального IP откуда пришли,а то получается я вижу что все запросы из мира идут от моего хоста %)

Всего записей: 53 | Зарегистр. 16-10-2002 | Отправлено: 03:58 15-05-2006
Cheery



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

Цитата:
так вот вопрос как на хосте котрый внутри сети (куда делается Rewrite) получить в логах Апача не ип вышестоящего апача, а реального IP откуда пришли,а то получается я вижу что все запросы из мира идут от моего хоста %)

передавать как параметр в url?

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 04:01 15-05-2006
Открыть новую тему     Написать ответ в эту тему

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