URL Rewriting — Rules & Restrictions

DEX455 - Reports API、Sites、Support Classes 与 Territory Management

📄 第 347 页 🎬 视频课程

课程章节介绍

好,我们来看一下URL重写器的几个限制,这部分很重要,不然你配置了规则却发现不生效,就会很困惑。 首先,想被重写的URL必须是对用户友好的,不能直接暴露出Salesforce原生的那种系统格式。什么意思呢?比如你有一个记录,它的URL里带了个15位或18位的记录ID,或者开头是三个字符的实体前缀,这种URL是不会被重写的。URL重写器识别不了,它只处理你自定义的那些善意、干净的路径。 其次,注意不要在你的自定义路径里使用句点,就是那个英文句号。唯一例外的是“.well-known”这个特殊路径组件,它是通用的互联网标准,Salesforce保留了这个。除此之外,你如果写个“/my.page”之类的,是不行的。 第三,有一些字符串是Salesforce保留的,你不能把它们放在网站基本URL或域名后面的第一个路径位置上。比如你不能用“apexcomponent”、“lightning”、“entry”、“set”这些词打头。举个例子,如果你的站点是example.com,那么“example.com/entry/something”就不被允许,因为“entry”是保留字。 最后,你在代码里用Site类的getUrl方法去获取重写后的URL时,要清楚它返回的只是域名之后的那部分路径,不包括域名和站点前缀本身。这样你在构建链接时才能正确拼接。 记住这些限制,在规划和写规则的时候多加留意,可以帮你省去很多排错的时间。

关键词

Apex Salesforce Developer Guide