问题是,虽然 PL/SQL 程序确实会生成 HTML,但我无法使图像文件夹工作。也就是说,当我尝试插入 IMG 标签时,它显示它在/xxx/img folder
.
我试图在httpd.conf中重新定义 DocumentRoot - 它仅适用于该文件夹本身,而不是递归的。我试图在dads.conf中更改 DOCUMENT_ROOT - 它根本不起作用。
所以问题是,我怎样才能让根文件夹深处的图像显示出来?
最后我找到了这种行为的答案和原因。
原因是 Oracle 的手工处理程序,pls_handler
用于任何 DAD,由 Apache Locations 组成。
试图创建用于存储图像的文件夹,例如$ORACLE_HOME/htdocs/myapp/img
,我干扰了该指令:
<Location /myapp>
SetHandler pls_handler
# lots of stuff
</Location>
因此,$ORACLE_HOME/htdocs/myapp
文件夹下的任何内容都被处理为 PL/SQL 过程。
这是一个简单的 Apache 配置问题。您只需在 Apache 配置文件中定义一个别名。
假设您的图像资源在一个目录中/middleware/project/img
。然后只需将以下行添加到您的 httpd.conf 或(这是我配置它的地方)dads.conf:
Alias /i/ "/middleware/project/img/"
如果您现在alert.png
在您的/middleware/project/img
目录中有一个文件,您可以使用/i/alert.png
url 访问它。