Zend framework 2x如何制作http://www.example.com/robots.txt
?
我有跟随引导程序,但它无法理解“robots.txt”仅在我转到http://www.example.com/robots
时才有效
$route = Http\Segment::factory(array(
'route' => '/robots[/:action]',
'defaults' => array(
'controller' => 'Application\Controller\Sitemap',
'action' => 'index'
),
));
$router->addRoute('robots', $route, null);
答案 0 :(得分:2)
1)将robots.txt
添加到物理路径。
您只需在公共路径中添加物理robots.txt
文件即可。 ZF2不会将流量重新路由到公共路径中的现有文件。
因此,如果您将文件放在/public/robots.txt
内,那么对以下内容的请求只会加载文件:
http://www.example.com/robots.txt
2)确保robots.txt
有内容
该文件需要内容it wont work 例如:
User-agent: *
Disallow: /
3)检查您的重写规则
如果仍然无效,您应该检查您的重写规则(.htaccess
或web.config
文件)是否已配置according to the specs in the ZF2 documentation
答案 1 :(得分:2)
在.txt
之后添加'route' => '/robots.txt',
并删除[/:action]
所以你的代码看起来像这样。
$route = Http\Segment::factory(array(
'route' => '/robots.txt',
'defaults' => array(
'controller' => 'Application\Controller\Sitemap',
'action' => 'index'
),
));
$router->addRoute('robots', $route, null);
编辑:我知道有些人会希望它在磁盘上是物理的,但这样你就有了一个dynamicrobots.txt文件,可以用数据库中的东西填写。
Edit2:是的,我知道你可以把它写在磁盘上,但是有很多方法可以做到这一点。
答案 2 :(得分:2)
如果您想要链接到www.example.com/robots.txt,只需将此robots.txt文件保存到公共文件夹