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

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



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

Цитата:
any advise please

включи логи и посмотри, как преобразуется.. сразу все станет ясно.

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:32 02-09-2005
Davi

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hmm ... Cheery ,,,
 
sorry, если туплю, какие логи надо посмотреть?
 
лог сервера, эррор логи?
 
да вроде не видел, чтобы там было прописанно такое

Всего записей: 296 | Зарегистр. 31-05-2003 | Отправлено: 05:55 02-09-2005
x2com

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет!  
У меня есть два вопроса:
Если мы по простому пути идем, например так:  
RewriteRule ^(.*).html index.php?section=$1 [NC]
то ели мы обращаемся к файлу index.php?section=1
видим нужную страницу, если обращаемся /1.html - тоже видим эту страницу,
вобщем все работает.
 
Вопрос 1: Можно ли прописать правила так, чтобы и внутренние ссылки на "переписанных" страницах тоже были переписанные? Или нужно линки в скриптах
определенным образом формировать?
 
Вопрос 2: Как сделать так, чтобы при заходе на страницу index.php?section=1
был редирект на стороне сервера на 1.html ? Грубо говоря, что бы не было "зеркал"..
 
Заранее благодарен.

Всего записей: 6 | Зарегистр. 06-09-2005 | Отправлено: 16:58 06-09-2005
x2com

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите кто-нить!

Всего записей: 6 | Зарегистр. 06-09-2005 | Отправлено: 14:22 07-09-2005
HoverHell

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скажите плиз, а возможно ли при помощи mod_rewrite заставить сервер брать страничку с другого сервера и выдавать её пользователю (не меняя URL)?

Всего записей: 33 | Зарегистр. 12-02-2005 | Отправлено: 21:08 07-09-2005
Cheery



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

Цитата:
да вроде не видел, чтобы там было прописанно такое  

включить rewrite логи.. выше есть примеры как делается
 
HoverHell

Цитата:
Скажите плиз, а возможно ли при помощи mod_rewrite заставить сервер брать страничку с другого сервера и выдавать её пользователю (не меняя URL)?

для этого используется mod_proxy
 
x2com

Цитата:
Помогите кто-нить!

здесь не чат..

Цитата:
Вопрос 1: Можно ли прописать правила так, чтобы и внутренние ссылки на "переписанных" страницах тоже были переписанные? Или нужно линки в скриптах  
определенным образом формировать?

нет.. mod_rewrite тут не при чем.. либо пишешь изначально, либо страницу нужно обрабатывать перед выводом (php, perl, ssi)

Цитата:
Вопрос 2: Как сделать так, чтобы при заходе на страницу index.php?section=1  
был редирект на стороне сервера на 1.html ? Грубо говоря, что бы не было "зеркал"..  

нехорошо это.. может зациклиться.. нужно хорошо продумать структуру.

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

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



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

Код:
 
RewriteEngine on
Options +FollowSymlinks
 
RewriteBase  /
RewriteRule  ^(.*)/(.*)/$ /cgi-bin/$1.pl?$2
 

 
Так вот когда заходишь по лику типа,

Код:
 
http://www.domain.com/script_name/script_command/
 

то перенаправляет на урл

Код:
 
http://www.domain.com/cgi-bin/script_name.pl?script_command
 

 
Но вот беда в том, что если заходишь на линк типа

Код:
 
http://www.domain.com/script_name/
 

получаем 500'ую ошибку. Как исправить эту ошибку?
 
Заранее благодарен за помощь.

Всего записей: 296 | Зарегистр. 12-09-2001 | Отправлено: 04:22 08-09-2005
Cheery



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

Цитата:
получаем 500'ую ошибку. Как исправить эту ошибку?  

смотрим error_log - там указана причина 500 ошибки

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 04:57 08-09-2005
Break_Action



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

Всего записей: 296 | Зарегистр. 12-09-2001 | Отправлено: 13:44 08-09-2005 | Исправлено: Break_Action, 15:16 08-09-2005
Cheery



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

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

и что там было написано?

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 16:21 08-09-2005
Break_Action



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

Всего записей: 296 | Зарегистр. 12-09-2001 | Отправлено: 20:09 08-09-2005
Cheery



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

Цитата:
Там написано то , что происходит неверное исполнение построенного мною htaccess файла, из-за того, что применяется две переменных, наличие которых обязательно, но вот попвтавшись построить htaccess с двумя правилами у меня не получилось из-за того, что первое правило первоначально исполняется и после передает результат своей работы во второе правил, где работа происходит уже неверная.

мне не нужна интерпретация.. плиз - copy, paste

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:21 08-09-2005
Break_Action



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Урл который я запрашиваю

Код:
http://www.server.com/globalizer/zqzVaiRC1OWlhYu2dHlDiUwxOO4XMw/

Это мой htaccess файл

Код:
RewriteEngine on
Options +FollowSymlinks
RewriteBase  /
RewriteCond %{REQUEST_URI}  !images/            [NC]
RewriteRule  ^(.*)/$        /cgi-bin/$1.pl      [L,NS,NC]
RewriteRule  ^(.*)/(.*)/$   /cgi-bin/$1.pl?$2   [L,NS,NC]

Это лог с ошибкой

Код:
(3) [per-dir f:/server/home/www.server.com/www/] strip per-dir prefix: f:/server/home/www.server.com/www/globalizer/zqzVaiRC1OWlhYu2dHlDiUwxOO4XMw/ -> globalizer/zqzVaiRC1OWlhYu2dHlDiUwxOO4XMw/
(3) [per-dir f:/server/home/www.server.com/www/] applying pattern '^(.*)/$' to uri 'globalizer/zqzVaiRC1OWlhYu2dHlDiUwxOO4XMw/'
(4) RewriteCond: input='/globalizer/zqzVaiRC1OWlhYu2dHlDiUwxOO4XMw/' pattern='!images/' => matched
(2) [per-dir f:/server/home/www.server.com/www/] rewrite globalizer/zqzVaiRC1OWlhYu2dHlDiUwxOO4XMw/ -> /cgi-bin/globalizer/zqzVaiRC1OWlhYu2dHlDiUwxOO4XMw.pl
(2) [per-dir f:/server/home/www.server.com/www/] trying to replace prefix f:/server/home/www.server.com/www/ with /
(1) [per-dir f:/server/home/www.server.com/www/] internal redirect with /cgi-bin/globalizer/zqzVaiRC1OWlhYu2dHlDiUwxOO4XMw.pl [INTERNAL REDIRECT]

Вот ошибка и происходить здесь
/cgi-bin/globalizer/zqzVaiRC1OWlhYu2dHlDiUwxOO4XMw.pl
а надо
/cgi-bin/globalizer.pl?zqzVaiRC1OWlhYu2dHlDiUwxOO4XMw
 
Но если я запрашиваю урл

Код:
http://www.server.com/globalizer/

то все происходит нормально

Всего записей: 296 | Зарегистр. 12-09-2001 | Отправлено: 20:38 08-09-2005 | Исправлено: Break_Action, 20:45 08-09-2005
Cheery



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

Цитата:
RewriteRule  ^(.*)/$        /cgi-bin/$1.pl      [L,NS,NC]  
RewriteRule  ^(.*)/(.*)/$   /cgi-bin/$1.pl?$2   [L,NS,NC]  

местами менять пробовал?

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:21 08-09-2005
Break_Action



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

Всего записей: 296 | Зарегистр. 12-09-2001 | Отправлено: 22:43 08-09-2005
Cheery



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

Цитата:
Но мне казалось, что это как то неверно, может есть способы сделать это ну как бы это сказать покрасивее.

при чем здесь красиво? еще раз.. местами менял?  
у тебя запрос сразу попадает под первое правило и баста.


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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:56 09-09-2005 | Исправлено: Cheery, 19:56 09-09-2005
sghi



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если я изменил правило редиректа, то после этого, чтобы посетители с "закладок" и ссылко на поисковиках не попадали на 404 ошибку, есть два варианта:
1. Поставить все старые ссылки на RedirectPermanent, чтобы они на новые заменялись и заодно поисковиками обновлялись
2. Оставить старый редирект вместе с новым...
 
Что лучше выбрать? Только аргумент хоть какой то дайте, поскольку для меня оба варианта почти равны.

Всего записей: 2026 | Зарегистр. 02-03-2003 | Отправлено: 22:46 06-11-2005
denis333

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди помогите  
не пойму  
 
сделал я вот так  
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.site.ru$
RewriteRule ^(.*)$ http://site.ru/$1 [NC,R=301,L]
 
 
а до этого у меня еще было сделано вот такое  
RewriteCond %{HTTP_HOST} !^forum.site.ru$
RewriteRule ^forum/?(.+)?$ http://forum.site.ru$1 [R=301,L,NS,QSA]  
 
так вот что получается когда это все написал, то у меня перестала делаться переадресация форума с подпапки на поддомен
 
когда же я удалил эту штуку
Options +FollowSymlinks
 
то и форум работает и сайт делается без www
 
просто не пойму что делает Options +FollowSymlinks и важно ли чтобы оно тоже было прописано?  
 
 
подскажите кто знает
 
 
Добавлено:
и еще вопрос  
был поддомен  
test.site1.ru    
 
теперь купили домен  site2.ru    вот хотим сделать mod rewrite  на новый домен чтобы не потяретяь эффект раскрукти поддомена  
 
скажите как правильно сделать этот rewrite  
а также не будет ли санкций за это от поисковиков?

Всего записей: 4 | Зарегистр. 19-11-2004 | Отправлено: 10:46 12-11-2005
Cheery



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

Цитата:
просто не пойму что делает Options +FollowSymlinks и важно ли чтобы оно тоже было прописано

читай мануалы
http://httpd.apache.org/docs/1.3/mod/core.html#options


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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 03:36 13-11-2005
phpbbmods

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет, люди добрые опять я со своими проблемами
Вот есть адрес http://www.test.com/catalog/catname/
Вот преобразован естественно с catalog/?id= catname , если убрать /  
в конце http://www.test.com/catalog/catname то 404 идет  
в основном приходить с западных поисковиков
Подскажите, что прописать в .htaccess чтобы закрывалась слешь
Заранее благодарю,

Всего записей: 322 | Зарегистр. 09-02-2004 | Отправлено: 10:45 21-12-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