我正在尝试按照本教程从4d服务器网络开始。 http://doc.4d.com/4Dv16/4D/16/Serveur-Web.200-3246839.fe.html
我已禁用默认主页 index.html (甚至删除了 WebFolder 文件夹中的实际文件),然后在“网络连接”上添加了以下几行方法
warm_start
但是当我进入 localhost:8080 / 时,我仍然得到4d默认页面 然后我发现该方法甚至没有被调用,除非我向url中添加了一些内容(例如localhost:8080 / something)
答案 0 :(得分:1)
如果数据库设置中列出index.html作为默认主页,则它将加载该页面(有时,如果不存在该页面,则将创建该页面)。
此外,使用html扩展名不会运行任何动态代码,要调用代码,您必须使用 s html扩展名或文件一定不存在(当文件为时触发OWA / OWC找不到)。
此技术提示仍然适用,并详细介绍了在什么情况下运行On Web Connection(和On Web身份验证)方法:
Tech Tip: How to skip over HTTP and redirect to HTTPS: Part 2 (The Web decoy folder)
报价:
默认情况下,仅在默认情况下调用On Web Authentication数据库方法:
- 4D收到以4DACTION /开头的URL
- 4D收到以4DMETHOD /开头的URL
- 4D收到以4DCGI /开头的URL时
- 当4D收到请求不存在的静态页面的URL时
- 当4D在半动态页面中处理4DSCRIPT标签时
- 当4D根据半动态页面中的方法处理4DLOOP标签时。
注意:On Web Authentication数据库方法期望在$ 0中返回一个布尔值; True =接受请求,False =拒绝请求。如果未返回$ 0,则默认值为True,表示接受所有请求。
在以下情况下(默认)调用On Web Connection数据库方法:
将浏览器连接到以上下文模式运行的4D Web服务器时。使用/ ... URL调用数据库方法。
- 4D收到/ 4DMETHOD URL时。 Web服务器切换到上下文模式,并使用$ 1中的/ 4DMETHOD / MethodName URL调用数据库方法。
4D收到/ 4DCGI URL时。用$ 1中的/ 4DCGI / URL调用数据库方法。- 当使用URL类型/找不到网页时。调用数据库方法的URL为$ 1。
- 以URL类型/调用网页时,默认情况下未定义主页。调用数据库方法的URL为$ 1。
因此(默认情况下),如果Web访问者正在请求页面,并且该页面存在于Web文件夹中URL所指定的位置,则该页面将自动发送回客户,而无需任何特殊处理。在大多数情况下,这很好,但是开发人员可以通过实现Web Decoy文件夹来更好地控制请求。
因此,如果希望/网址运行代码,则可以使用以下两种方法之一:
在4D模式下修改Web配置选项时,用户设置将优先于数据库设置。
如果启用了“用户设置”,请确保同时检查“用户设置”和“数据库设置”。
可以在以下菜单选项下访问用户设置:
或