设为首页 收藏本站
查看: 921|回复: 0

[经验分享] django+apache配置网站的robots.txt和sitemaps等理静态文件

[复制链接]

尚未签到

发表于 2017-1-14 08:40:53 | 显示全部楼层 |阅读模式
  当你的网站已经在公网上正常上线后,为了能被搜索引擎很好的收录网站结构,就必须主动向搜索引擎提供robots.txt和sitemap.xml,
  先来看看什么是robots.txt和 sitemap.xml吧,以下摘自“维基百科”
  http://zh.wikipedia.org/zh-cn/Sitemaphttp://zh.wikipedia.org/zh/Robots.txt

robots.txt

维基百科,自由的百科全书
  robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不能被搜索引擎的漫游器获取的,哪些是可以被(漫游器)获取的。 因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据。
  Robots.txt协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。注意Robots.txt是用字符串比较来确定是否获取URL,所以目录末尾有和没有斜杠“/”这两种表示是不同的URL,也不能用"Disallow: *.gif"这样的通配符。
  其他的影响搜索引擎的行为的方法包括使用robots元数据:

<meta name="robots" content="noindex,nofollow" />

  这个协议也不是一个规范,而只是约定俗成的,通常搜索引擎会识别这个元数据,不索引这个页面,以及这个页面的链出页面。

XML网站地图 sitemaps
  sitemaps是站点管理员向搜索引擎爬虫公布站点可被抓取页面的协议,sitemap文件内容必须遵循XML格式的定义。每个URL可以包含更新的周期和时间、URL在整个站点中的优先级。这样可以让搜索引擎更佳有效的抓取网站内容。
  Google引入了Google网站地图使得网页开发者可以发布整个站点的链接列表。其基本假设是一些站点拥有大量动态页,而这些页面只能通过表单和用户登录来访问。网站地图文件可以被用来指引网络蜘蛛如何找到这类页面。Google、MSN、Yahoo以及Ask都支持网站地图协议。
  由于MSN、Yahoo、Ask以及Google使用同样的协议,因此拥有一个站点地图可使这四个最大的搜索引擎的页面信息保持最新。网站地图不保证所有的链接可被抓取,而被抓取了也不一定会做成索引。但是,一个站点地图仍然是使一个搜索引擎获得你整个站点信息的最保险的方式。
  那么我们现在以django+apache为架构的网站 (www.souapp.com)搜应用 为例,将robots.txt和sitemap.xml提交给google作为工作任务。
  
  1、首先你要登录google网站管理员工具页面:
  https://www.google.com/webmasters/tools/home?hl=zh-CN
DSC0000.gif

  添加 www.souapp.com,并验证你是网站的拥有者。
  2、在“网站配置”栏目下的“抓去工具的权限”为robots.txt配置详细。
  如图所示,robots.txt文件位置默认访问 http://www.souapp.com/robots.txt,当然你也可以手工制定URL。
DSC0001.gif

  3、在“网站配置”栏目下的“Sitemaps”为sitemap.xml配置详细。
  如图所示,sitemap.xml文件位置默认访问 /sitemap.xml,当然你也可以手工定制URL,我自定义设置为/media_alias/sitemap.xml
DSC0002.gif

  ============================================================
  下面我们着重讲解,robots.txt和sitemap.xml放置在网站根目录的路径配置操作:
  1、Django网站的静态文件js,image,css路径配置
  我把网站使用到的css js jpg png txt等文件全部放在网站下的media目录下
要在页面中能够引用到要做如下的配置
  在setttings.py中加入
#设置静态文件路径
STATIC_PATH ='/var/www/media/'
  在urls.py中的配置
先导入 from django.conf import settings
接着在urlpatterns 中加上
(r'^media_alias/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.STATIC_PATH}),
  最后在html页面中就可以这样用了
<link rel="stylesheet" type="text/css" href="/media_alias/common.css" />
<script type="text/javascript" src="/media_alias/jquery.js" />
<image src="/media_alias/souapp.png" />
  2、Apache静态文件路径配置
  注意:你的apache要安装mod_python ,详细参考:Ubuntu 8.04 mod_python Config
  LoadModule python_module /usr/lib/apache2/modules/mod_python.so
  找到/etc/apache2/httpd.conf文件,配置如下:
  <VirtualHost *:80>
<Location "/">
SetHandler python-program
PythonPath "['/var/www']+sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE souapp.settings
#PythonOption django.root /
PythonDebug On
#PythonInterpreter souapp
</Location>

Alias /media_alias/ /var/www/media/
  Alias /robots.txt /media_alias/robots.txt
Alias /sitemap.xml /media_alias/sitemap.xml
  <LocationMatch "/.(jpg|gif|png|txt|ico|pdf|css|jpeg)$">
SetHandler None
</LocationMatch>
  这样一来,访问http://www.souapp.com/sitemap.xml,和http://www.souappp.com/robots.txt,实际上是apache直接访问的/var/www/media/的sitemap.xml和robots.txt
  3、robots.txt和 sitemap.xml的生成
  在google网站管理员工具页面的引导下,你会很快生成 robots.txt并下载下来,放到你的网站目录里,而sitemap.xml的生成请参考

Django生成网站的sitemap.xml



DSC0003.gif

搜应用网(www.souapp.com)致力于移动互联网-手机应用服务的提供,为广大手机用户努力营造一个分享手机应用、充分享受移动生活给我们带来无限生活乐趣的环境,为此我们深信移动互联网是手机用户个性化、分享化的个人时代;目前我们提供的服务主要针对于Android手机系统。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-328128-1-1.html 上篇帖子: 关于在apache中发布项目,项目中引入资源的路径问题 下篇帖子: Apache HTTP Server路径不支持中文字符问题的解决办法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表