- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 symfony 1.0.6。
在我的站点中,我有两个 URL。
http://newe4s.com/news/articles/view/033/job-news-and-information
和
http://newe4s.com/news/articles/view/033/job-news-and-information/graduate/Connections-help-graduates-get-jobs
现在,所有新文章都使用相同的布局,并且上面的两个链接都从数据库中获取相同的数据。谷歌正在报告内容重复,因为它正在为同一内容获取多个 URL。当我搜索解决方案时,我发现使用“规范”结构可以解决这个问题,这需要
<link rel="canonical" href="http://newe4s.com/news/articles/view/033/job-news-and-information />
添加到页面的头部
http://newe4s.com/news/articles/view/033/job-news-and-information/graduate/Connections-help-graduates-get-jobs
但这里的问题是,两者都使用相同的布局并基于文章 ID(上例中的 033)获取并显示数据。我无法更改或硬编码规范 href。
有没有办法在 action.class 或模板文件中手动添加链接标签?
最佳答案
根据 an old ticket (基于 old thread in the old symfony forum ) - 哪一点 to the final source ,您可以轻松创建一个帮助程序,将链接标记添加到您的页面(例如 /lib/helper/CanonicalHelper.php
):
/**
* Add link tag to slot 'links'
*
* @param String $href [Absolute or internat URI]
* @param String $rel [value for 'rel' attribtue, e.g. 'canonical']
*
* @return void
*/
function add_link($href, $rel)
{
$slot = get_slot('links');
try {
$href = url_for($href, true);
$slot .= "\n<link rel=\"$rel\" href=\"$href\" />";
} catch (InvalidArgumentException $e) {
$slot .= "\n<!-- Could not add Link '$href': Only absolute or internal URIs allowed -->";
}
slot('links', $slot);
}
然后你可以在你的模板中调用它:
<?php add_link(
'http://newe4s.com/news/articles/view/033/job-news-and-information',
'canonical'
); ?>
最后,不要忘记在 layout.php
中添加插槽:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Title</title>
<link rel="shortcut icon" href="/favicon.ico" />
<?php include_javascripts() ?>
<?php include_stylesheets() ?>
<?php include_slot('links'); ?>
</head>
如果你想从 actions
添加它,它也在博客文章中定义。
编辑:
如果您创建了一个名为 CanonicalHelper.php
的助手,请不要忘记在您要使用 add_link
函数时包含它:
<?php use_helper('Canonical') ?>
关于hyperlink - 如何为来自同一链接的页面添加规范标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10947313/
我成功地创建了具有 salesforce 提供的样式的表。 (例如在鼠标悬停时突出显示的那个等) 但我希望列的值是显示对象详细信息的链接。 当我不创建自己的 Visualforce 页面时,表格看起来
我正在尝试创建一个带有超链接的列表。每个列表项在一行中包含一个主题和对该主题的简单描述。我想包含主题的超链接而不是描述。我所做的如下。 ul#subjects li a(hre
我正在尝试在表格单元格中创建一个超链接,这是我目前所做的。 我错误地看到这条消息,“'Table' 不能有 'HyperLink' 类型的子项。” 我该如何解决这个问题? TableRow L
我说“超链接”是因为我不知道还能调用它什么,这就是我希望它出现的方式。 显然,这可以使用标签和按钮的组合,但我的标签和按钮是通过编程生成的,我想我还必须以编程方式排列它们,这在更改字体大小等方面可能会
我想知道当您提供一个实际用于下载而不是重定向到另一个页面的链接时,浏览器如何决定要做什么。例如,浏览器如何知道不要将您重定向到名为 http://domain/Music.mp3 的页面而不是只是抛出
比如我写了一个文档提交给p4,然后我想在公司内网分享或者通过邮件通知其他人。 我创建了一个帖子并将 p4 文档作为帖子中的超链接引用。 当用户点击它时,他的本地P4将根据他的p4配置启动同步文档(如果
如果有人回答了这个问题,我深表歉意,我已经搜索了一段时间,但找不到直接的答案。 我习惯于 Windows Visual C++,在那里我使用头文件 ( *.h ) 来声明类及其函数和源文件 ( *.c
关闭。这个问题需要details or clarity .它目前不接受答案。 想改善这个问题吗?通过 editing this post 添加详细信息并澄清问题. 7年前关闭。 Improve thi
我已经为我的工具制作了指南(或类似教程的内容),以便与公司共享。我使用Google文档来做到这一点,我想添加链接以打开视频指南。我想知道一种在文档中添加链接的方法。 最佳答案 这是Google文档中缺
如何在GMail中获取指向特定电子邮件的链接(URL)?我想单击该链接并打开特定的电子邮件。 最佳答案 我认为Gmail不能显示一封电子邮件,它总是显示一个主题。您可以查找一条消息,但仍会看到整个线程
在文档中,我想创建一个内部链接。有效as expected在常规链接上。但当标题本身是一个超链接时,这就不起作用了。 应该如何实现这一目标? Trying to link to [[Heading1]
我们必须使用 Alfresco 实现文档存储库,并且要求外部文档的链接(它们可以是 Url 或网络 uri,如\SERVER\doc.pdf)应该作为常规的露天存储文档(标记、分类和评论它们)。 我想
在这种情况下,将鼠标悬停在左侧链接上会使其右侧(两个链接之间)出现一个小破折号。我怎样才能摆脱这个?我在 Safari 和 Chrome 中都看到了这一点,但我在样式表中没有看到任何可以做到这一点的内
我想创建一个php页面,在其他站点上查找内容。 好吧,让我们举个例子来使您理解。可以说有一个名为“anwebsite.com”的网站,并且有一个名为“anwebsite.com/page.php”的页
为了节省时间,在YouTube页面上为许多建议的视频添加书签,我想将侧边栏中的URL列表保存到文件中,以备后用。 我尝试用于youtube页面的提取工具排除了指向其他页面的建议(个性化)链接,但是通过
如何手动提取YouTube下载链接? 例如: 我有此链接:htps://www.youtube.com/watch?v = fLexgOxsZu0 我想得到这个:http://r9---sn-aigl
我四处搜寻,却一无所获。 好的,这不是完全正确的,事实上,互联网上有很多解决方案(即使在stackoverflow上也是如此),它们如何获取youtube视频的下载链接,但是由于youtube似乎保持
我想创建一个计算超链接,该超链接将定位同一文档中的单元格。例如,“插入”>“超链接”允许此选项,并使用字符串 #Sheet1!A1 作为 Sheet1 上的单元格 A1。 有没有办法将此功能表达为公式
大家好, 我知道这个问题有点奇怪,但请提出建议。 我想在输入类型“文本”字段中的网站网址内容上创建一个链接,而不是任何其他 html 标记,是否可能,如果可以,如何创建。 问候和感谢阿米特 最佳答案
您好,我正在发送电子邮件附件(使用 php),并想向我向其发送电子邮件的人指出有附件。我想通过在电子邮件的 html 正文中显示一个链接来实现此目的,因此他们所需要做的就是单击该链接,系统将尝试打开/
我是一名优秀的程序员,十分优秀!