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

Форум Apache

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

 

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

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

тема: revrite rules
 
 автор: Night_Charter   (10.04.2006 в 23:55)   письмо автору
 
 

Написан скрипт.
В нем ссылки подобного рода: index.php?cat=2&id=5
Как сделать автоматичексое преобразование ссылок без изменения скрипта?
index.php/cat2/id5/ .
Тоесть не лезть и не переименовывать ссылки.
Заранее спасибо.

   
 
 автор: glsv (Дизайнер)   (11.04.2006 в 05:47)   письмо автору
 
   для: Night_Charter   (10.04.2006 в 23:55)
 

>Тоесть не лезть и не переименовывать ссылки.
Вы хотите, чтобы в Вашем HTML-коде ссылки вида index.php?cat=2&id=5 исправились на ссылки вида index.php/cat2/id5/.
В этом деле Apache Вам не помошник. Apache может сделать вот что:
Если у Вас в HTML будет написана ссылка index.php/cat2/id5/ и посетитель нажмет на нее (отправит запрос на сервер), то Apache незаметно для посетителя преобразует запрос к виду index.php?cat=2&id=5.

   
 
 автор: Night_Charter   (11.04.2006 в 09:11)   письмо автору
 
   для: glsv (Дизайнер)   (11.04.2006 в 05:47)
 

В том то и дело, что возможно...
А как не знаю!

   
 
 автор: glsv   (11.04.2006 в 10:26)
 
   для: Night_Charter   (11.04.2006 в 09:11)
 

Apache никак не может изменить Ваш html-код. Он может только его выполнить и с помощью модуля mod-rewrite осуществить перенаправление запросов (скрыть реально используемые URL и помочь использовать "красивые" ссылки).

Но "красивые" ссылки (index.php/cat2/id5/) в HTML-коде Вам нужно прописать самому, либо написать скрипт ( например, на PHP), который исправит Ваши ссылки автоматически.

   
 
 автор: glsv   (11.04.2006 в 10:32)
 
   для: Night_Charter   (11.04.2006 в 09:11)
 

Есть еще один способ. Apache тут правда почти ни при чем (применительно к Вашей задаче).
И скрипт все же придется модифицировать.

Включить буферизацию при выполнении php-скрипта, в буфер будет помещен сгенерированный php-скриптом HTML-код.
Далее по этому коду нужно будет пробежаться регулярным выражением и заменить ссылки.
Это как раз решает поставленную Вами задачу.

А уже затем вторая часть: с помощью модуля mod_rewrite настроить Apache на использование Ваших новых "красивых", но несуществующих URL-ов так, чтобы они указывали на реальные URL-ы.

   
Rambler's Top100
вверх

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