如果您在数据库设置中将 index.html 列为默认主页,那么它将加载该页面(有时如果它不存在,它会创建它)。
此外,使用 html 扩展名将不会运行任何动态代码,要调用代码,您必须使用s html 扩展名或文件必须不存在(未找到文件时触发 OWA/OWC)。
此技术提示仍然适用,并很好地概述了 Web 连接(和 Web 身份验证)方法在什么情况下运行:
技术提示:如何跳过 HTTP 并重定向到 HTTPS:第 2 部分(Web 诱饵文件夹)
引用:
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 访问者正在请求一个页面,并且该页面存在于 URL 中指定位置的 web 文件夹中,则该页面将自动发送回客户,无需任何特殊处理。这在大多数情况下都很好,但开发人员可以通过实现 web 诱饵文件夹来更好地控制请求。
因此,如果您希望 / url 运行您的代码,您可以使用以下任一方法:
- 使用 index.shtml(注意 shtml 中的s)
- 删除数据库设置中的条目(因此默认页面字段为空)
在 4D 中修改 Web 配置选项时,用户设置将优先于数据库设置。
如果启用了用户设置,请确保同时检查用户设置和数据库设置。
可通过以下菜单选项访问用户设置:
或者