2016-01-22 2 views
0

У меня есть структура каталогов статических файлов, которые я хотел бы обслуживать с помощью моего веб-сервера. Скажем:Динамический маршрут внутри статического дерева

project/ 
    directory1/ 
    directory2/ 
    directory3/ 
     subdirectory1/ 
     subdirectory2/ 
     subdirectory3/ 
      static.html 
      static.png 
      static.js 
      static.css 
... 

Ничего волшебного до тех пор, пока не будет здесь простой призрак, который мы могли бы использовать.

<VirtualHost *:80> 
    ServerName project.dev 
    DocumentRoot "path/to/project" 
    <Directory "path/to/project"> 
     Require all granted 
    </Directory> 
</VirtualHost> 

Теперь давайте говорить, что мы хотим перехватить GET http://project.dev/directory3/subdirectory3/static.html сделать некоторые сценарии и служить то, что мы хотим, чтобы вместо этого.

Вопрос: Как нам настроить наш Apache-vhost для использования php, python, ruby ​​или любого другого языка для интерпретации этого запроса и возврата некоторого ответа вместо фактического статического файла?

Что-то вроде:

#... 
<Directory "path/to/project"> 
    Require all granted 
</Directory> 
<Directory "path/to/project/directory3/subdirectory3/static.html"> 
    send_to_some_framework "path/to/project/app.php" 
</Directory> 
#... 
+0

вы не хотите '' , что относится к справочникам (очевидно), а не отдельные файлы. попробуйте '' или '' вместо этого. –

ответ

1

Я хотел бы использовать mod_rewrite. Что-то вроде:

RewriteRule ^/directory3/subdirectory3/static.html$ path/to/project/app.php [L] 

или AliasMatch:

AliasMatch "^/(.*/static\.html)$" "path/to/project/app.php$1" 
+0

'AliasMatch' действительно работал для меня. (Альтернатива добавлена ​​в ответ на перехват '*/static.html') –

Смежные вопросы