我的问题很简单,如何使用symfony 1.4实现SEO优化任务?
第一个问题,不仅是一个搜索引擎优化问题,而是一般的symfony 1.4,symfony对网址做了一件奇怪的事情:
模块/动作
和
模块/动作/
第一个工作,第二个被拒绝或抛出错误,或者什么是最常见的工作,但不会重定向(使用301)到第一个,这应该是一个约定,因为SEO-wise那些网址不完全相同。 这不应该是。
答案 0 :(得分:2)
这是symfony中的一个常见错误,这个尾随斜杠可能会造成麻烦。有些人会告诉你这是正常的,因为第一个是文件,第二个是目录。由于您无法使用symfony浏览目录,因此会抛出错误。
但是你可以选择两种方法,使用htaccess或使用自定义路由。
htaccess:(来自here)
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
自定义路由:(来自here)
/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;
}
}