Routing 将模块/操作/重定向到模块/操作
我的问题很简单,如何使用symfony 1.4实现SEO优化任务 第一个问题,这不仅是一个SEO问题,更是一个symfony 1.4的一般问题,是symfony对URL做了一件奇怪的事情,比如: 模块/动作 及 模块/动作/ 第一个有效,第二个被拒绝或抛出错误,或者最常见的有效,但不重定向(使用301)到第一个,这应该是一个约定,因为从SEO角度来看,这些URL是不相同的。Routing 将模块/操作/重定向到模块/操作,routing,seo,symfony-1.4,Routing,Seo,Symfony 1.4,我的问题很简单,如何使用symfony 1.4实现SEO优化任务 第一个问题,这不仅是一个SEO问题,更是一个symfony 1.4的一般问题,是symfony对URL做了一件奇怪的事情,比如: 模块/动作 及 模块/动作/ 第一个有效,第二个被拒绝或抛出错误,或者最常见的有效,但不重定向(使用301)到第一个,这应该是一个约定,因为从SEO角度来看,这些URL是不相同的。 不应该是这样。这是symfony中的常见错误,后面的斜杠可能会导致问题。有些人会告诉你这是正常的,因为第一个是文件,第二个
不应该是这样。这是symfony中的常见错误,后面的斜杠可能会导致问题。有些人会告诉你这是正常的,因为第一个是文件,第二个是目录。由于无法使用symfony浏览目录,因此会抛出一个错误 但您有两个解决方案,使用htaccess或使用自定义路由 htaccess:(来自) 自定义路由:(来自)
/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;
}
}
它会抛出什么错误?你能把你的routing.yml
<?php
class myPatternRouting extends sfPatternRouting
{
protected function normalizeUrl($url)
{
$url = parent::normalizeUrl($url);
// remove trailing slash
$url = preg_replace('/\/$/', '', $url);
return $url;
}
}