团队EaSE文章:.htaccess和robots.txt文件
上个月,在我们的文章SEO,Joomla!和您的模板中,我们解释了在访问网站上的页面之前,搜索引擎(例如Google和Yahoo)会检查其服务器上关于网站的指令。这些指令可以由Joomla!附带的两份文件提供,通常位于Joomla!安装的顶级目录中:htaccess.txt和robots.txt。
这两个文件都可以用于安全目的:它们可以禁止某些页面被搜索引擎索引或防止访问指定的页面、文件和文件夹。
这两个文件之间有什么区别?
.htaccess与Apache服务器“交流”并给它指令,而robots.txt文件告诉搜索引擎哪些页面或文件夹可以被索引。.htaccess的权限比robots.txt文件更严格,因为它可以禁止搜索引擎访问您的某些页面甚至所有页面。
.htaccess(超文本访问)
为什么在htaccess前有一个点?这个点意味着该文件是为Apache服务器设计的,因此应该从公众视野中隐藏。在我们将Joomla!的htaccess.txt文件重命名为.htaccess之前,它不会被启用。
每次刷新后,Apache都会在每一个单独的文件夹中查找.htaccess。因此,应该非常谨慎地使用它,因为如果它存在,它会被读取,从而减慢服务器的速度。当启用.htaccess文件时,我们使用它来使我们的站点更加安全,并用于页面SEO目的。.htaccess文件的另一个目的是允许站点指定对主服务器配置的更改。
限制、重写、重定向
使用.htaccess,您可以控制访问,将错误页面重定向,并通过向服务器提供指令来控制URL行为。记住,尽管如此,我们只能提供服务器管理员认可的指令。
我们可以通过将位于Joomla!安装顶层目录中的htaccess.txt文件重命名为.htaccess文件来创建它。要完成此操作,首先使用记事本等文本编辑器下载并编辑htaccess.txt,以ASCII模式保存。使用FTP客户端上传文件,并将服务器上的文件名更改为.htaccess。请记住,名称前面的这个点是一个扩展名。文件的权限应设置为最大644。
现在我们已经解释了如何编辑此文件,那么可以用它来做什么呢?
搜索引擎友好URL
默认情况下,Joomla!的URL很长,由组件名称、项目ID等参数构成。使用Joomla!内置的搜索引擎友好URL系统,我们可以构建包含关键词、更短且对网站访客更有意义的URL。这也可能影响我们的搜索引擎排名。
在计划使用搜索引擎友好URL时,我们建议阅读Benjamin Hättasch撰写的文章Joomla! v 1.5 搜索引擎友好URL(SEF URL),该文章解释了如何在多种服务器环境中编辑 .htaccess文件。在大多数Linux托管计划中,应该没有问题与默认的Joomla! .htaccess文件。困难可能是由自定义服务器配置引起的,Benjamin的文章解释了如何排查这些问题。
限制对文件的访问
简单地将htaccess.txt重命名并不能完成完整的安全工作。为了安全起见,我们可以在 .htaccess文件中添加几个指令(在RewriteEngine On命令之后)
<Files ~ "\.xml$">
Order allow,deny
Deny from all
Satisfy all
</Files>
在上面的代码中,我们限制了对我们网站上任何可扩展标记语言(XML)文件的访问。我们建议这样做,因为在Joomla!中,XML文件通常是包含我们不希望恶意用户看到和利用的信息的文件。例如,我们Joomla!网站上使用的扩展程序的安装信息可能包含它们的版本号。要限制对一种类型文件的访问,我们使用“Files”指令。如果我们想禁止对几种类型文件的访问,我们可以使用FileMatch指令
<FilesMatch "^(exe||tif|ai|html)\.*$">
Order deny,allow
Deny from all
Satisfy all
</FilesMatch>
限制对管理页面的访问
使用 .htaccess,我们可以让某人更难访问我们网站的管理页面并尝试暴力攻击“破解”用户名和密码。为此,我们使用以下指令来限制对管理页面的访问
<Files administrator>
Order deny,allow
Deny from all
AuthName "htaccess password prompt"
AuthType Basic
AuthUserFile /home/restrictions/.htpasswd
Require valid-user
</Files>
接下来,我们需要创建一个 .htpasswd文件。我们可以使用http://www.askapache.com/online-tools/htpasswd-generator/来获取所需的代码并将其保存为名为 .htpasswd的文件。非常重要的一点是要保护该文件,将其放在公共根目录之上(在大多数服务器上,公共根目录被称为“public_html”或“www”等)。在我们的示例代码中,我们指定了一个自定义位置:/home/restrictions/.htpasswd
robots.txt
robots.txt文件用于向蜘蛛——自动程序“爬行”互联网并将页面添加到搜索引擎——提供有关哪些文件夹和文件不应在搜索引擎中索引的指令。一些蜘蛛会忽略这些指令,可能会试图通过带宽消耗引起问题,因此请使用htaccess文件来禁止这些蜘蛛访问整个网站。
上个月我们详细介绍了在robots.txt文件中应该添加和删除的内容,但我们想分享一些小贴士
- 每行使用一个指令
- 该文件区分大小写;即,名称中的大写或小写字母很重要
- 不要使用注释
发表在Joomla社区杂志上的一些文章代表了作者对特定主题的个人观点或经验,可能并不代表Joomla项目官方立场
通过接受,您将访问 https://magazine.joomla.net.cn/ 外部第三方提供的服务
评论