Перенаправить на существующий файл / папку, если он существует в определенном каталоге или перейти на index.php - PullRequest
1 голос
/ 13 ноября 2011

У меня есть папка App\ressources, которая содержит все изображения, библиотеку javascript на сайте.

Я пытаюсь перенаправить к существующему изображению / js или перейти к индексу.PHP-файл, который обработает запрос и получит текущий модуль / контроллер / действие.

Итак, я сделал это:

RewriteEngine On

RewriteCond App/ressources/$1 -d [OR]
RewriteCond App/ressources/$1 -f
RewriteRule ^(.+)$ App/ressources/$1 [L]

RewriteRule ^(.*)$ index.php [QSA]

Это не должно быть сложно, но «отладка» невозможна.

1 Ответ

1 голос
/ 13 ноября 2011

Я попросил тот же вопрос , но я не получил ответа.

Вот мой обходной путь:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule (.*) App/ressources/$1 [DPI]
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule App/ressources/(.*) $1 [DPI]

RewriteCond %{REQUEST_FILENAME} !-f     # missing line, see comments
RewriteRule (.*) index.php [L,QSA,DPI]

В основном мы перенаправляем все (то, что не существует в виде файла) в App / resources и, если оно еще не существует, мы перенаправляем его обратно в / root dir.Затем мы перенаправляем его в index.php.

  1. Если файл не существует, перенаправьте в App / resources /
  2. Если файл еще не существует, перенаправьте обратно в корень /
  3. Если файл все еще не существует, перенаправьте на index.php
...