html - 如何防止谷歌网络爬虫将单个页面作为两个不同的页面读取
问题描述
我有一个网页说example.com/blog/news.php我使用了这个代码:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
在.htaccess
文件中隐藏文件扩展名。但是谷歌爬虫将example.com/blog/news.php和example.com/blog/news读取为两个不同的页面。请问我该如何防止这种情况,我试图将news.php页面重定向到新闻,但它返回了一条错误消息,说明重定向或类似的东西。
解决方案
您可以使用以下规则将您的.php
网址 301 重定向到新的 ( non-php
) 格式,这样 Google 只会索引您的新网址。
RewriteEngine on
将以下内容放在现有规则的下方和之前:
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^([^.]+)\.php$ /$1 [L,R=301]
推荐阅读
- emacs - 每个文件类型的 emacs 编码
- python - 将 UNIX 时间戳添加到网络摄像头录制的开始/结束
- spring - 使用新记录上的 EventSource 自动更新客户端
- python - py2neo.database.ClientError: SemanticError: Cannot merge node using null property value for Country
- r - 在 R 中使用库 lubridate 进行不寻常的日期处理
- java - 无法解析的导入 POM:传输失败
- excel - 使用 VBS 更新电子表格中的单元格 - 保存文件时更改输入格式
- r - 从纬度计算权重以应用于栅格堆栈值
- c - 从 C 中的文件读取时使用 fscanf()
- vuetify.js - Nuxt Vuetify 模块 - 自定义组件图标不起作用