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

Форум Apache

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

 

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

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

тема: MOD_REWRITE жаль толкового объяснения в природе нет...
 
 автор: hedgy   (23.01.2007 в 10:27)   письмо автору
 
 

Покопался с литературой по MOD_REWRITE, но так ничего абсолютно понятного и не нашел. Так - только обрывками. Хотя везде предупреждают, что эта штука очень запущенная, поэтому не ждите, что сразу въедете в нее...

Какой конкретно вопрос: у меня скрипт электронной библиотеки. Очень хотелось бы сделать. чтобы он хорошо индексировался, так как там все страницы генерируются виртуально, а физически есть только index.html, который на самом деле php, и некоторые другие необходимые файлы.

Как вообще тут применить mod_rewrite?... к примеру url'a вида
index.html?show=$cat&style=$style

переменные $cat и $style, ясно, определяются заранее...

А чтобы это нормально индексировалось (вот Гугль, по-моему стороной обходит динамические ссылки), как писать исходный url и как его преобразовывать?
хотелось бы, чтобы сама ссылка была такой:
$style/$cat.html

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

   
 
 автор: cheops   (23.01.2007 в 12:02)   письмо автору
 
   для: hedgy   (23.01.2007 в 10:27)
 

>А чтобы это нормально индексировалось (вот Гугль, по-моему стороной обходит динамические
>ссылки)
Нет, все поисковые роботы нормально работают с динамическими ссылками

$style и $cat какие символы могут содержать (буквы, цифры, знаки подчёркивания)?

   
 
 автор: hedgy   (23.01.2007 в 20:50)   письмо автору
 
   для: cheops   (23.01.2007 в 12:02)
 

$style и $cat - это все цифры. так, наверное, будет проще.
Не знаю, сам лично проверял, индексация чайта с динамическими ссылками не такая успешная, чем со статическими.
А кде есть нормальный мануал по mod_rewrite без заумностей, и, желательно, с толковыми примерами?

   
 
 автор: cheops   (23.01.2007 в 22:23)   письмо автору
 
   для: hedgy   (23.01.2007 в 10:27)
 

Можно тогда поступить следующим образом
Options +FollowSymlinks 
RewriteEngine On 
RewriteBase   / 
RewriteRule   ^([0-9]+)([0-9]+)\.html  index.html?show=$1&style=$2 [L] 


>А кде есть нормальный мануал по mod_rewrite без заумностей, и, желательно, с толковыми
>примерами?
Понимаете, mod_rewrite - это на 90% регулярные выражения... это как с теорией относительностьи, если вы от рождения гениальный учёный уровня Ломаносова, вы всё равно её не поймёте, если не научитесь читать... сначала нужно изучить регулярные выражения, на сегодняшний момент существует практически одна книга, полностью раскрывающая этот вопрос - это "Регулярные выражения" Дж. Фридла. Изучите их - вам mod_rewrite - семечками покажется... это не просто, но стоит того.

   
 
 автор: hedgy   (23.01.2007 в 23:56)   письмо автору
 
   для: cheops   (23.01.2007 в 22:23)
 

спасибо за линк!
а можно еще один глупый вопрос: я непосредстенно в коде ведь должен без знаков ? и & писать? мод_реврайт потом преобразует в динамическую ссылку, правильно?

   
 
 автор: cheops   (24.01.2007 в 00:06)   письмо автору
 
   для: hedgy   (23.01.2007 в 23:56)
 

Да, вы должны писать ссылку так, как её видит пользователь, т.е. если изначально ссылка представляла собой index.html?show=129&style=15, то теперь вам можно писать вместо этого URL, следующий /129/15.html

   
 
 автор: hedgy   (25.01.2007 в 01:33)   письмо автору
 
   для: cheops   (24.01.2007 в 00:06)
 

а открывать-то он будет ссылку index.html?show=129&style=15 или /129/15.html ?....

   
 
 автор: 7ba.ru   (25.01.2007 в 08:03)   письмо автору
 
   для: hedgy   (25.01.2007 в 01:33)
 

А открывать он будет то что вы ему укажете.Тоесть index.html?show=125&style=5.В реврайте мы ему указываем правило.
Если юзер заходит на 125/5.html то отправлять его на index.html?show=125&style=5

   
 
 автор: 7ba.ru   (25.01.2007 в 08:05)   письмо автору
 
   для: hedgy   (25.01.2007 в 01:33)
 

А открывать он будет то что вы ему укажете.Тоесть index.html?show=125&style=5.В реврайте мы ему указываем правило.
Если юзер заходит на 125/5.html то отправлять его на index.html?show=125&style=5

   
 
 автор: cheops   (25.01.2007 в 13:40)   письмо автору
 
   для: hedgy   (25.01.2007 в 01:33)
 

Если укажите /129/15.html - откроет /129/15.html, если укажите index.html?show=129&style=15 - откроет index.html?show=129&style=15.

   
 
 автор: hedgy   (25.01.2007 в 17:20)   письмо автору
 
   для: cheops   (25.01.2007 в 13:40)
 

ясненько, всем спасибо )

   
 
 автор: Serafim   (26.01.2007 в 11:23)   письмо автору
 
   для: hedgy   (23.01.2007 в 10:27)
 

у меня такой вопрос.... задача элементарна....
вообще как урл типа www.site.ru/game/gta/auto.html
превратить в урл www.site.ru/index.php?url=game/gta/auto.html
а переменную url уже сам пхп обработает как надо,т.к. ссылки могут быть разными...
P.S урл типа www.site.ru, т.е. без слеша в конце и остального текста должна превратиться в www.site.ru/index.php?url= (т.е. просто пустота, а не пробел)

   
Rambler's Top100
вверх

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