所以我试图在文档的头部呈现一个页面的 URL,以便与 rel=canonical 一起使用。这是在一个使用 Velocity 模板的网站上。我所说的内容类型具体是一个测验——它有多个页面,每个问题一个页面,更不用说反映用户正确答案的不同 URL 参数了。
该站点已制定重定向规则以生成测验的 URL。它们看起来像这样:
<rule>
<from>^/([a-zA-Z_0-9\-]*)/(quiz_[a-zA-Z_0-9\-]*)/(\d*).htm$</from>
<to>/contentdata/quiz.htm?path=/$1/$2.xml&qnum=$3</to>
</rule>
所有这些都是为了解释我正在使用这个 Velocity 代码:
<link rel="canonical" href="$link.self" />
在此页面的模板上:
http://example.com/fun/quiz_best_quiz_ever/1.htm
这会产生这个 HTML:
<link rel="canonical" href="/contentdata/quiz.htm" />
但我想要的是这个HTML:
<link rel="canonical" href="http://example.com/fun/quiz_best_quiz_ever/" />
够清楚吗?我知道这很复杂,但有人知道我如何能够完成它吗?