Перенаправление каталога Apache и каталог htaccess qsa - PullRequest
0 голосов
/ 06 ноября 2011

Недавно я столкнулся со странным поведением при запросах каталогов в URL на серверах Apache.Я довольно плохо знаком с серверами Apache и HTACCESS, так что, возможно, кто-то может сообщить мне об этом.

Если на сервере есть подкаталог с именем example, и я пытаюсь запросить этот каталог,набрав www.example.com/example/ все работает как положено.Сервер Apache ищет файлы default.php, index.php и другие, как и ожидалось.Если я ввожу www.example.com/test, и нет файла или каталога, соответствующего «test», я получаю ошибку 404, как и ожидалось.Вот где это становится странным, если вы введете www.example.com/example (и www.example.com/example/ существует), сервер даже не вернет 404. На самом деле, он либо перенаправляет циклы, либо я получаюa "www.example.com/example не существует или недоступен".от моего провайдера.Это должно произойти?

Вот где это вызывает у меня проблему.У меня есть простой файл HTACCESS, который перенаправляет все запросы в строку запроса:

Options +FollowSymLinks +MultiViews -Indexes

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteBase /

RewriteRule ^styles/[\d]{10}/(.*)\.(css|jpg|gif)$ styles/$1.$2 [NC,L]
RewriteRule ^scripts/[\d]{10}/(.*)\.(js|jpg|gif)$ scripts/$1.$2 [NC,L]

RewriteRule \.(css|jpe?g|png|gif|js|ico)$ - [L]
RewriteRule ^(.+)$ default.php?page=$1 [QSA,L,NC]

</IfModule>

Это прекрасно работает примерно в 99% случаев.Тогда есть проблема каталогов, которую я описал выше.Независимо от того, присутствует ли HTACCESS, если каталог запрашивается без конечной косой черты, все происходит не так, и это происходит как на моем локальном сервере, так и на моем общем хосте с Godaddy.Дело в том, что мне нужны любые запросы, такие как

www.example.com / example

, чтобы перейти к

по умолчанию.php? page = пример

, даже если есть каталог

/ example /

в списке.

Кроме того, я просмотрел журналы перезаписи, если каталог запрашивается без завершающей косой черты, сервер Apache даже не получает возможности обработать файл HTACCESS.

У кого-нибудь есть какие-нибудь решения?

...