[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Непонятное поведение mod_rewrite
J1upuk
в htaccess:

AddDefaultCharset UTF-8
RewriteEngine on
RewriteBase /
RewriteRule ^/?$ index.php?controller=catalog&action=list [NC,QSA]
RewriteRule ^([a-z]+)/?([a-z]+)?/?$ index.php?controller=$1&action=$2 [NC,QSA]

в корне сайта есть папка dir, при обращении к http://test.ru/dir он не открывает каталог, он присваевает переменной $_GET['controller'] значение dir, но строка запроса меняется на http://test.ru/dir/?controller=dir&action=
флаг QSA убирал, ничего не изменяется, почему он вообще решает изменить строку запроса и вывести в неё эти переменные? причём если запрос вида http://test.ru/dir/ т.е. слеш на конце - такого не происходит.
volter9
J1upuk
Можно добавить RewriteCond чтобы обойти эту проблему:
AddDefaultCharset UTF-8
RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_URI} !^/dir/
# Или:
# RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?$ index.php?controller=catalog&action=list [NC,QSA]
RewriteRule ^([a-z]+)/?([a-z]+)?/?$ index.php?controller=$1&action=$2 [NC,QSA]


_____________
Мой блог
Razzwan
Похоже, это связано с внутренними настройками apache. Попробуй переименовать папку.

_____________
Youtube канал WebDeveloper->Run()
Сайт для души
Gitter
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.