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

Форум Apache

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

 

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

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

тема: Непонятка с поведением mod_rewrite
 
 автор: Лёлик   (11.05.2006 в 22:31)   письмо автору
 
 

Написал классической ЧПУ типа site.ru/same -> site.ru/index.php?item=same.
На локалке все работает, на своем хостинге тоже, а вот на 3-ем просиходит следующая картина. Приведу на примере. Набираю site.ru/sitemap, но всместо site.ru/index.php?item=sitemap окрывается сам файл sitemap.php который лежит в корне site.ru/about.php. Но самое непонятное, что это происходит не совсеми анологичными разделами, т.е. site.tu/about и site.ru/faq открывается как и задумано через mod_rewrite, а другие site.ru/feedback открывает файл site.ru/feedback.php. Такая же картина наблюдается и с более глубокими ссылками (site.ru/faq/1 или site./ru/about/staff).


RewriteEngine On
RewriteBase /
RewriteRule ^([a-z]+)/?$ index.php?item=$1
RewriteRule ^([a-z]+)/([a-z0-9]+)/?$ index.php?item=$1&sub1=$2

   
 
 автор: Лёлик   (15.05.2006 в 10:50)   письмо автору
 
   для: Лёлик   (11.05.2006 в 22:31)
 

Проблему я решил выключив поддержку mod_negotiation, прописав в .htaccess Options -Multiviews. Вот только сделал это без понимания сути.
Подскажите, что это за модуль mod_negotiation?

   
 
 автор: cheops   (15.05.2006 в 10:54)   письмо автору
 
   для: Лёлик   (15.05.2006 в 10:50)
 

Вообще говоря странно, mod_negotiation обеспечивает поддержку MIME-типов (HTTP-заголовок Content-Type), что само по себе не плохо, но mod_rewrite вроде как и без него работать должен.

   
 
 автор: Лёлик   (15.05.2006 в 10:57)   письмо автору
 
   для: cheops   (15.05.2006 в 10:54)
 

Так мне в сюпорте хостинга велели сделать. На своем хостинге и на локалке все отлично работает и при включенном модуле.

   
 
 автор: glsv   (15.05.2006 в 11:49)
 
   для: Лёлик   (15.05.2006 в 10:50)
 

Опция Multiviews отвечает за интелектуальные способности Apache предсказывать ошибочно введенные URL. Т.е. пользователь вводит адрес несуществующей страницы, а Apache пытается угадать что же он хотел и подсовывает ему страницу со схожим именем (если такой существует). Подставляет имя директории вместо имени файла и наоборот.

Спорная опция. На свое сайте мы ее тоже отключили.

   
Rambler's Top100
вверх

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