Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: простой пример использования mod_rewrite
 
 автор: 1999   (29.05.2006 в 00:06)   письмо автору
 
 

сабж)))
я много видел про это тем, о хочу просто посмотреть азы.
ну например у меня есть гостевая вида http://www.site.ru/gb.php
я хочу, чтоб по адресу http://www.site.ru/gb/ выдавалась гостевая. Как сделать?

   
 
 автор: cheops   (29.05.2006 в 00:42)   письмо автору
 
   для: 1999   (29.05.2006 в 00:06)
 

Для этого можно использовать следующий .htaccess
RewriteEngine On
RewriteRule /gb.php gb/

   
 
 автор: 1999   (30.05.2006 в 02:31)   письмо автору
 
   для: cheops   (29.05.2006 в 00:42)
 

пасиба
а какие вещи ну скажем самые сложные можно делать с помощью mod_rewrite?

   
 
 автор: cheops   (30.05.2006 в 12:32)   письмо автору
 
   для: 1999   (30.05.2006 в 02:31)
 

Можно достаточно сложные вещи делать - для преобразования доступны все серверные переменные (адрес сайта, IP-адреса сервера и посетителя, USER_AGENT) и вся мощь регулярных выражений. А это означает, что вы можете перенаправлять пользователей на разные части сайта в зависимости от используемого им браузера, операционной системы. Разрешать посещение страницы лишь с определённого IP-адреса и.д. и конечно же изменять вид URL, придавая ему самые причудливые формы, правда, с условием, что они не будут пересекаться доменной системой Интернет, так как запрос сначала должен дойти до сервера, где расположен Apahce, осуществляющий преобразование.

   
 
 автор: 1999   (30.05.2006 в 20:21)   письмо автору
 
   для: cheops   (30.05.2006 в 12:32)
 

а не подскажете где можно вкратце прочесть про все эти преобразования?
только желательно не на официалке, т.к. там все на английском, а хочется по-русски

   
 
 автор: cheops   (30.05.2006 в 22:48)   письмо автору
 
   для: 1999   (30.05.2006 в 20:21)
 

"Сервер Apache 2. Бибилия пользователя" М. Дж. Кабир

   
 
 автор: 1999   (31.05.2006 в 00:13)   письмо автору
 
   для: cheops   (29.05.2006 в 00:42)
 

и кстати

>Для этого можно использовать следующий .htaccess
>
RewriteEngine On
>RewriteRule /gb.php gb/


странно но это совсем не работает((( просто пишет 404 ошибку
mod_rewrite включен

   
 
 автор: cheops   (31.05.2006 в 12:46)   письмо автору
 
   для: 1999   (31.05.2006 в 00:13)
 

А конейнер <Directory /> в конфигурационном файле httpd.conf как выглядит?

   
 
 автор: 1999   (31.05.2006 в 18:09)   письмо автору
 
   для: cheops   (31.05.2006 в 12:46)
 

<Directory />
Options FollowSymLinks Includes Indexes
AllowOverride All
</Directory>

   
 
 автор: cheops   (01.06.2006 в 02:34)   письмо автору
 
   для: 1999   (31.05.2006 в 18:09)
 

Попробуйте временно поставить
Options All

Какая реакция? Помоему ещё MultiViews не хватает...

   
 
 автор: 1999   (01.06.2006 в 05:22)   письмо автору
 
   для: cheops   (01.06.2006 в 02:34)
 

как было так и осталось(((

   
 
 автор: 1999   (01.06.2006 в 23:38)   письмо автору
 
   для: 1999   (01.06.2006 в 05:22)
 

что делать?

   
 
 автор: 1999   (02.06.2006 в 19:10)   письмо автору
 
   для: 1999   (01.06.2006 в 23:38)
 

.

   
 
 автор: 1999   (02.06.2006 в 23:33)   письмо автору
 
   для: 1999   (02.06.2006 в 19:10)
 

помогите плиз

   
 
 автор: cheops   (02.06.2006 в 23:35)   письмо автору
 
   для: 1999   (02.06.2006 в 23:33)
 

Что-то ничего в голову не приходит... А у вас Apache 2.0.x, 1.3.x или 2.2.x?

   
 
 автор: 1999   (02.06.2006 в 23:54)   письмо автору
 
   для: cheops   (02.06.2006 в 23:35)
 

Apache/2.0.55 (Win32) PHP/5.1.2 Server at 127.0.0.1 Port 80

   
 
 автор: glsv (Дизайнер)   (03.06.2006 в 04:40)   письмо автору
 
   для: 1999   (31.05.2006 в 00:13)
 

У вас все нужные инструкции для mod_rewrite даны? Должно быть так.

RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule /gb.php gb/

   
 
 автор: 1999   (04.06.2006 в 21:42)   письмо автору
 
   для: glsv (Дизайнер)   (03.06.2006 в 04:40)
 

а это надо только на втором апаче писать или везде?

   
 
 автор: 1999   (05.06.2006 в 16:40)   письмо автору
 
   для: glsv (Дизайнер)   (03.06.2006 в 04:40)
 

и кстати это тож не работает(((

   
 
 автор: glsv (Дизайнер)   (05.06.2006 в 22:29)   письмо автору
 
   для: 1999   (05.06.2006 в 16:40)
 

Взгляд замылился, нужно наоборот. Попробуйте так.

RewriteEngine on 
Options +FollowSymlinks 
RewriteBase / 
RewriteRule ^gb/*$ /gb.php 

   
 
 автор: 1999   (05.06.2006 в 22:39)   письмо автору
 
   для: glsv (Дизайнер)   (05.06.2006 в 22:29)
 

заработало)))
а можете объяснить строку RewriteRule ^gb/*$ /gb.php ?

   
 
 автор: Саня   (06.06.2006 в 00:49)   письмо автору
 
   для: 1999   (05.06.2006 в 22:39)
 

Символ "^" обозначает начало регулярного выражения. Квантор "*" означает количество повторений символа, стоящего слева от квантора или последовательности символов, заключённых в квадратные скобки, от нуля до N. Ну а "$" означает конец регулярного выражения. Затем на запрос, удовлетворяющему регулярному выражению, выдается результат работы "/gb.php".
Под рег. выр. ^gb/*$ попадают строки "gb", "gb/", "gb//", "gb//////" и т. д.

http://www.egoroff.spb.ru/portfolio/apache/mod_rewrite.html
http://www.egoroff.spb.ru/portfolio/apache/rewriteguide.html

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования