对于这个问题的公然无知,我深表歉意,但我被指控修复 Django 中的一些我没有经验的东西!
我们遇到了网址和重复内容的问题。
如果我们访问“www.hello.com/services/”,那么我们就会得到完整的页面呈现,绝对没问题。
如果我们访问“www.hello.com/services”,那么我们会得到相同的内容,但默认值似乎是在一行中设置的:
class PageTitleNode(template.Node):?
?
def render(self, context):?
try:?
meta_info = MetaInfo.objects.get(url=context['request'].path)?
except ObjectDoesNotExist:?
return u'This is our default page title'?
return u"%s - hello.com" % meta_info.title
此问题的主要问题是 Google 正在为两个几乎相同的页面建立索引,根据我们客户支付过高的在线策略合作伙伴的说法,这是糟糕的 SEO。
我知道这很模糊,但如果有人可以提供帮助,那么我们会很高兴。
感谢您的阅读!
最佳答案
我认为你的顾问是正确的。一个 URL = 一种资源。无论如何,一个资源上有两个 url 是相当肮脏的。这就是为什么 Django 具有从非尾随斜杠自动重定向到带有尾随斜杠的 url 的原因。下certain conditions .
我很确定您的/services/的 url 定义正则表达式缺少尾部斜杠。无论如何,您应该仅使用尾部斜杠:
确保 APPEND_SLASH设置为 True:
从 django.conf 导入设置;打印设置。APPEND_SLASH
确保所有网址正则表达式都有尾部斜杠,例如
url(r'foo' ...)
是 坏,而url(r'foo/' ...
) 通过 勉强,因为可能存在冲突,并且url(r'foo/$' ...
) 更好确保所有 MetaInfo 对象的 URL 都带有斜杠,例如
MetaInfo.objects.exclude(url__endswith='/')
应返回 MetaInfo,网址中不带尾部斜杠
关于python - Django - 尾部斜杠重置页面标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9532407/