团队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文件。为此,首先使用例如记事本这样的文本编辑器下载并编辑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/ 外部的第三方服务
评论