Zend中的重复URL

时间:2012-03-17 09:40:03

标签: zend-framework url duplicates

我正在开发一个ZF网站:howtowritecitations(dot)com 它有一个TOS页面: howtowritecitations(dot)com / termsofservice

但是这些重复的页面是什么?

http://www.howtowritecitations.com/termsofservice/index
http://www.howtowritecitations.com/index.php/termsofservice
http://www.howtowritecitations.com/index.php/index/termsofservice

他们来自哪里?这会是一个问题吗?我希望不是。例如,当Google抓取网页时,它只会找到并索引howtowritecitations(dot)com / termsofservice,对吗?

如果这是一个潜在的问题,请告诉我正确的方向,以便我可以尝试解决它。​​

有人建议开始在routeShutdown()(或类似的东西)中查看getRequestUri() 使用preg_replace删除index.php,以便301重定向到正确的URL,但我在这里丢失了。

提前感谢您的建议或意见

1 个答案:

答案 0 :(得分:0)

这是由您设置的路线引起的。默认情况下,Zend Framework应用程序通常路由如下:

www.yoursite.com/:controller/:action/:param

现在,调用时位于www.yoursite.com/termsofservice的termofservice控制器默认情况下会显示:index操作,如果未指定操作而未更改URL。使用www.yoursite.com/termsofservice/index访问它也是完全有效的。

要解决这些问题,您需要设置自定义路由,其中​​匹配www.yoursite.com/:controller/*的所有内容都将路由到www.yoursite.com/:controller。这样,Google就永远不会有机会看到要编制索引的备用网址。