0

我的问题很简单,如何使用 symfony 1.4 实现 SEO 优化任务?

第一个问题,不仅仅是一个 SEO 问题,而是一个 symfony 1.4 的问题,一般来说,symfony 对 URL 做了一件奇怪的事情,比如:

模块/动作

模块/动作/

第一个有效,第二个被拒绝或抛出错误,或者最常见的有效,但不重定向(使用 301)到第一个,这应该是一个约定,因为 SEO 明智的这些 url 不是完全相同的。这不应该。

4

1 回答 1

2

这是 symfony 中的一个常见错误,这个尾部的斜杠会引起麻烦。有些人会告诉你这是正常的,因为第一个是文件,第二个是目录。由于你不能用 symfony 浏览目录,它会抛出一个错误。

但是您有两个选择作为解决方法,使用 htaccess 或使用自定义路由。

htaccess:(这里

RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]

自定义路由:(这里

/apps/frontend/config/factories.yml

all:
  routing:
    # class: sfPatternRouting
    class: myPatternRouting

创建类:

apps/frontend/lib/myPatternRouting.class.php

<?php
class myPatternRouting extends sfPatternRouting
{
  protected function normalizeUrl($url)
  {
    $url = parent::normalizeUrl($url);

    // remove trailing slash
    $url = preg_replace('/\/$/', '', $url);

    return $url;
  }
}
于 2012-08-29T09:36:55.643 回答