我的web应用程序出现了以下错误:
2017-12-02 22:32:39
[10.133.0.13][-][-][error][yii\web\HttpException:404]
yii\base\InvalidRouteException: Unable to resolve the request
"assets/7adcf7ba/site.css". in
/var/www/html/my-website/vendor/yiisoft/yii2/base/Module.php:537
它是由我在HTTP_USER_AGENT中看到的web crawler of Google引起的。文件夹7adcf7ba
已经不存在了,所以我认为爬虫以某种方式使用了缓存数据。
如何防止crawler尝试访问此过期资源文件并使用当前资源文件?
我不想要Google's Search Console的解决方案,因为它不是唯一的网络爬虫,当然,我也不想维护几个爬虫。
我可以使用robots.txt吗?元标签?特殊属性?我怎么发动汽车呢?
发布于 2017-12-04 19:41:03
必须将yii\web\AssetManager的$forceCopy
属性设置为TRUE
'components' => [
...
'assetManager' => [
'class' => 'yii\web\AssetManager',
'forceCopy' => true,
],
...
],
“您可能希望在开发阶段将此设置为true,以确保发布的目录始终是最新的。不要在生产服务器上将此设置为true,因为这将显著降低性能。”来自:$forceCopy
编辑
需要更多的解释
“爬虫(也称为蜘蛛或机器人)是一种软件,它以系统和自动的方式分析网络数据,通常代表搜索引擎。爬虫通常会获取访问过的所有文档的文本副本,并将它们插入到索引中。爬虫的一种非常常见的用法是在Web上。在Web上,爬虫依赖于搜索引擎提供的要访问的URL列表(最初基于用户建议的地址或程序员自己预先填写的列表)。在分析URL时,它会识别文档中的所有超链接,并将它们添加到要访问的URL列表中。该过程可以手动结束,也可以在遵循一定数量的链接之后结束。此外,互联网爬虫程序还可以选择由位于站点根目录中的"robots.txt“文件进行定向。在这个文件中,您可以指出哪些页面不应该被分析。爬虫有权利听从建议,但没有义务。来自:Web crawler
因此您可以将robots.txt配置为允许或不允许爬虫在其搜索引擎中索引特定页面,而不是为了避免资产错误。资产的发布是另一回事。
https://stackoverflow.com/questions/47628695
复制相似问题