2011-02-07 1 views
0

Я использую kohana 3 для проекта и имею контроллер/foo с различными действиями (/ foo/about,/foo/features, et cetera). Тем не менее, я недавно получил пару папок с довольно большим html-сайтом, который будет помещен в этот каталог, включая html/txt/файлы изображений. Теперь у меня есть структура, которая выглядит как этотСовместное использование статических файлов из каталога с общим именем с контроллером

  • Кохана/Foo/помощь/index.html
  • Кохана/Foo/help_de/index.html
  • Кохана/Foo/help_es/index.html

и так далее ..

Мое приложение не служит эти файлы просто отлично, тем не менее, когда я иду в контроллер/Foo - это больше не работает. Я могу решить эту проблему путем редактирования моего файла HTAccess быть как таковой:

RewriteRule ^(?:application|modules|system|foo)\b.* index.php/$0 [L] 

Однако, затем, мои статические файлы не получить служил. Что я могу сделать, чтобы обслуживать статические файлы, если они существуют, но по умолчанию возвращаются к моему контроллеру/действиям, когда они этого не делают?

Я пытался отредактировать htaccess только для того, чтобы обслуживать файлы из списка папок, но не могу понять, как правильно это сделать.

Пожалуйста, дайте мне знать, если я должен быть более наглядным.

Спасибо -

Edit (полный .htaccess):

RewriteEngine On 
RewriteBase/
<Files .*> 
    Order Deny,Allow 
    Deny From All 
</Files> 
RewriteRule ^(?:application|modules|system)\b.* index.php/$0 [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php/$0 [PT] 

ответ

0

/foo ссылка нарушаются этой линии:

RewriteCond %{REQUEST_FILENAME} !-d 

Поскольку /foo в настоящее время рассматривается в качестве каталога. Вероятно, вы могли бы просто удалить эту строку, если вас не беспокоят потери индексов каталогов.

0

Я не знаю Кохана, но я предполагаю, что это может работать, если вы добавите в вашем .htacess после "RewriteEngine на" 2 линии :!

RewriteEngine на

RewriteCond% {REQUEST_FILENAME} -f #Exlude файлы RewriteCond% {REQUEST_FILENAME} -d #Exlude каталоги

Это исключает файлы и каталоги из обработанного beign.

+0

ах, да - у меня это уже есть. Я полагаю, что я должен был ввести полный файл в исходное сообщение – x0xMaximus