Le problème est que, bien que les procédures PL / SQL génèrent du HTML, je ne peux pas faire fonctionner le dossier d’image. C’est-à-dire que lorsque j’essaie d’insérer une balise IMG, cela montre qu’il ne trouve pas ce fichier dans le dossier /xxx/img folder
.
J’ai essayé de redéfinir DocumentRoot dans httpd.conf – il ne fonctionne que sur ce dossier lui-même, pas de manière récursive. J’ai essayé de changer DOCUMENT_ROOT dans dads.conf – cela ne fonctionne pas du tout.
La question est donc de savoir comment afficher des images dans ce dossier racine.
J’ai enfin trouvé une réponse et une raison à ce comportement.
La raison en est le gestionnaire hand-made d’Oracle, pls_handler
, utilisé pour tous les DAD, constitués en tant pls_handler
Apache.
En essayant de créer des dossiers pour stocker des images comme $ORACLE_HOME/htdocs/myapp/img
, j’ai interféré avec cette directive:
SetHandler pls_handler # lots of stuff
Et ainsi, tout ce qui se trouvait sous le dossier $ORACLE_HOME/htdocs/myapp
était traité en tant que procédures PL / SQL.
Ceci est un problème de configuration Apache simple. Vous devez simplement définir un alias dans votre fichier de configuration Apache.
Supposons que vos ressources d’image se trouvent dans un répertoire /middleware/project/img
. Ajoutez simplement la ligne suivante à votre httpd.conf ou (c’est là que je le configure) dads.conf:
Alias /i/ "/middleware/project/img/"
Si vous avez maintenant un fichier alert.png
dans votre alert.png
/middleware/project/img
, vous pouvez y accéder avec une URL /i/alert.png
.