Перезапись URL-адресов и фактические имена каталогов, соответствующие регулярному выражению - PullRequest
0 голосов
/ 09 марта 2012

Я создал приложение, используя шаблон Front Controller, поэтому в основном все отправляется на index.php

Это то, что у меня есть в моем .htaccess файле

RewriteRule ^([a-zA-Z0-9]+)(\/([a-zA-Z0-9]+))?(\/([a-zA-Z0-9\/]+))?(\/)?$   
                   index.php?class=$1&method=$3&args=$5

(Для представления мне пришлось разбить строку на две части, но вы понимаете, что я имею в виду)

Таким образом, все работает нормально, если я создаю каталог с именем /js, например, который должен быть напрямую доступен.Это означает, что я не могу поместить файл .htaccess в него и поместить:

Deny from all

Затем получить доступ к моему сайту с помощью URL http://mysite.com/js перенаправляет на http://mysite.com/js/?class=js&method=foo&args=

Putting Options -Indexes в основном файле .htaccess не очень помогает.Есть мысли?

Любые разъяснения приветствуются, я не очень хорош в объяснении вещей.

Спасибо

1 Ответ

1 голос
/ 09 марта 2012

Использование

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

Исключение реальных файлов и каталогов из правила перенаправления (правило перенаправления не будет применяться к реальным файлам и каталогам).

...