|
|
|
| Написал классической ЧПУ типа 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
|
| |
|
|
|
|
|
|
|
для: Лёлик
(11.05.2006 в 22:31)
| | Проблему я решил выключив поддержку mod_negotiation, прописав в .htaccess Options -Multiviews. Вот только сделал это без понимания сути.
Подскажите, что это за модуль mod_negotiation? | |
|
|
|
|
|
|
|
для: Лёлик
(15.05.2006 в 10:50)
| | Вообще говоря странно, mod_negotiation обеспечивает поддержку MIME-типов (HTTP-заголовок Content-Type), что само по себе не плохо, но mod_rewrite вроде как и без него работать должен. | |
|
|
|
|
|
|
|
для: cheops
(15.05.2006 в 10:54)
| | Так мне в сюпорте хостинга велели сделать. На своем хостинге и на локалке все отлично работает и при включенном модуле. | |
|
|
|
|
автор: glsv (15.05.2006 в 11:49) |
|
|
для: Лёлик
(15.05.2006 в 10:50)
| | Опция Multiviews отвечает за интелектуальные способности Apache предсказывать ошибочно введенные URL. Т.е. пользователь вводит адрес несуществующей страницы, а Apache пытается угадать что же он хотел и подсовывает ему страницу со схожим именем (если такой существует). Подставляет имя директории вместо имени файла и наоборот.
Спорная опция. На свое сайте мы ее тоже отключили. | |
|
|
|