我对Zend Framework还是很陌生,并且正在建立一个网站,希望能够实施良好的SEO做法。

URL结构为:
example.com/language/city/controller/action

因此,我在引导程序中创建了以下路线:

$front = Zend_Controller_Front::getInstance();
$router = $front->getRouter();
$route = new Zend_Controller_Router_Route(':language/:city/:controller/:action/*',
                                         array('language'=>'es',
                                               'city'=>'barcelona',
                                               'controller'=>'index',
                                               'action'=>'index'));
$router->addRoute('language_city', $route);

我不确定可以,但似乎可以解决问题。

接下来,我注意到所有这些URL都指向相同的内容(不良的SEO做法):

/
/es
/es/barcelona
/es/barcelona/index
/es/barcelona/index/index

有没有办法解决这个重复的内容问题?

提前致谢!

===============>>#1 票数:0 已采纳

您正在设置默认值,因此对于一个页面(默认页面)来说,请求将是相同的。 删除默认值后,如果URI不包含变量,则会收到错误消息(我相信是404 )。

$route = new Zend_Controller_Router_Route(
    ':language/:city/:controller/:action/*',
    array('language'=>'es', //default when not in URI
          'city'=>'barcelona', //default when not in URI
          'controller'=>'index', //default when not in URI
          'action'=>'index' //default when not in URI
    )
 );

似乎您可能要删除 language city 的默认值 ,因为如果没有该数据,我不确定您的控制器将要做什么。

如果这样做,唯一的“重复” URI将是:

/es/barcelona
/es/barcelona/index
/es/barcelona/index/index

但是您只需要使用这些URI之一 如果使用Zend的View_Helper_Url输出链接,则它将删除index/index -因为它与默认值匹配。

您始终可以添加其他路由,以将其他请求(例如/ )映射到相关控制器。

还应注意, 如果只有一个控制器处理所有这些“城市”请求,则无需将其放在URI上

$route = new Zend_Controller_Router_Route(
    ':language/:city/:action/*',
    array('language'=>'es', //default when not in URI
          'city'=>'barcelona', //default when not in URI
          'controller'=>'index', //all requests route here
          'action'=>'index' //default when not in URI
    )
 );

那么唯一的“重复” URI是:

/es/barcelona
/es/barcelona/index

  ask by XeL translate from so

未解决问题?本站智能推荐:

1回复

用于SEO的Zend Framework URL重写

我是Zend的新手,因此请帮助我解决这个问题,因为我进行了很多搜索并尝试了很多,所以我确实做到了。 这是一个非常老的问题: 这是我当前的网址: 通缉: 好吧,我将以下代码放在bootstrap.php中 它正在工作,但这也是一个硬编码。 我试图在bootst
1回复

用于htaccess的Zend框架站点的SEO友好URL

任何人都可以告诉我如何使用htaccess为Zend框架网站制作SEO友好网址? 示例: 会是这样的
3回复

SEO重复内容

如果您有这样的网址: Java库或应用程序将CSV转换为XML文件? 如果有人在他的网站上创建了一个链接,但是却像这样更改了名称 Java库或应用程序将CSV转换为XML文件? 这将导致重复的内容。 是否需要检查url中的名称是否与问题的真实名称相同,如果不
2回复

Zend Framework SEO技巧[关闭]

我已经完成了Google和其他公司建议的基础工作,以提高Google的排名。 为了使它更好,我应该使用Zend Framework(或一般而言,任何MVC架构)执行哪些“特定”操作? 似乎所有常用方法在Zend Framework中都无法正常工作。
1回复

SEO-DirectoryIndex重复内容[关闭]

在我正在工作的网站上,大约有7个不同的目录。 我在.htaccess使用DirectoryIndex指向index.php ,因此您可以转到site.com/menu/或site.com/menu/index.php并获得相同的内容,以此类推。 我知道重复的内容应该是不好的。 这会导致
1回复

语义UI - 使用响应类避免重复链接(SEO麻烦)

我正在开发一个网站,我正在使用SemanticUI 。 我准备这个例子来解释这个问题: 麻烦(SEO问题)是我必须复制上面的三个链接,当然,我不想这样做。 实际上,该站点是使用PHP构建的,我并没有真正加倍代码(它是PHP中的包含)。 我还准备了一个小提琴 。 要测试它,您必
1回复

Zend路线和SEO

我想知道如何使用zend框架来实现我的网站的URL,例如http://mysite.com/ArticleTitleHere 。 我看到它的方式是实现一个正则表达式路由,但这样zf将无法说出来自常规module/controller/action或controller/action路由的文
2回复

我可以在SEO的站点地图中包含规范的URL吗?

我可以在SEO的站点地图中包含规范的URL吗? 例如www.example.com/url.html是重复页www.example2.com/url.html 。 因此,我在www.example.com/url.html页面中使用了以下标记,以使SEO不会受到搜索引擎的惩罚:
1回复

页面搜索功能结果与SEO的页面重复

我正在使用一个名为Enfold的Wordpress主题,该主题具有“搜索”功能。 此功能为每个页面提供2个URL(根据搜索引擎蜘蛛)。 第一个是实际页面,第二个是驱动搜索功能的链接。 例如 http://www.bhutantravelbureau.com/about-bhuta
1回复

是具有多个邻居/重复的URL

我有两个网址 和 Web服务器执行与第一个URL相同的第二个URL。 第二个URL有效吗? 搜索爬虫是否将其理解为重复?