网站搜索

保护和自定义网站的 25 个有用的 Apache '.htaccess' 技巧


网站是我们生活的重要组成部分。它们提供了扩展业务、分享知识等等的手段。早期仅限于提供静态内容,随着动态客户端和服务器端脚本语言的引入,以及现有静态语言(如 html 到 html5)的不断进步,为网站添加每一点动态性都是可能的,剩下的内容预计很快就会跟进。未来。

有了网站,就需要一个可以向全球大量受众展示这些网站的设备。这种需求可以通过提供网站托管方式的服务器来满足。其中包括一系列服务器,例如:Apache HTTP ServerJoomlaWordPress,允许用户托管其网站。

想要托管网站的人可以创建自己的本地服务器,或者可以联系上述任何一位或任何其他服务器管理员来托管他的网站。但真正的问题是从这一点开始的。网站的性能主要取决于以下因素:

  1. 网站消耗的带宽。
  2. 该网站针对黑客的安全程度如何。
  3. 通过数据库进行数据搜索时保持乐观
  4. 显示导航菜单和提供更多 UI 功能时的用户友好性。

除此之外,影响服务器托管网站成功的各种因素包括:

  1. 特定网站实现的数据压缩量。
  2. 能够同时为请求相同或不同网站的多个客户提供服务。
  3. 保护在网站上输入的机密数据,例如:电子邮件、信用卡详细信息等。
  4. 允许越来越多的选项来增强网站的动态性。

本文讨论服务器提供的一项这样的功能,该功能有助于提高网站的性能,并保护网站免受不良机器人、热链接等的侵害,即“.htaccess”文件。

什么是 .htaccess?

htaccess(或超文本访问)是为网站所有者提供控制服务器环境变量和其他参数以增强其网站功能的选项的文件。这些文件可以驻留在网站目录树中的任何目录中,并为目录及其内部的文件和文件夹提供功能。

这些特点是什么?这些是服务器指令,即指示服务器执行特定任务的行,这些指令仅适用于放置该文件的文件夹内的文件和文件夹。这些文件默认是隐藏的,因为所有操作系统和 Web 服务器都配置为默认忽略它们,但使隐藏文件可见可以让您看到这个非常特殊的文件。可以控制什么类型的参数是后续章节讨论的主题。

注意:如果.htaccess文件放置在/apache/home/www/Gunjit/目录中,那么它将为该目录中的所有文件和文件夹提供指令,但如果该目录包含另一个文件夹,即: /Gunjit/images/,其中又包含另一个 .htaccess 文件,则此文件夹中的指令将覆盖主 .htaccess 文件(或层次结构中上层文件夹中的文件)提供的指令。

Apache 服务器和 .htaccess 文件

Apache HTTP Server 俗称 Apache,以美洲原住民部落 Apache 命名,以尊重其在战争策略方面的卓越技能。它是基于 C/C++ 和 XML 构建的跨平台 Web 服务器,基于 NCSA HTTPd 服务器,在万维网的发展和进步中发挥着关键作用。

Apache 最常用于 UNIX,可用于多种平台,包括 FreeBSD、Linux、Windows、Mac OS、Novel Netware 等。2009 年,Apache 成为第一个为超过 1 亿个网站提供服务的服务器。

Apache 服务器在 www/ 目录中为每个用户提供一个 .htaccess 文件。虽然这些文件是隐藏的,但如果需要的话可以使其可见。在 www/ 目录中,有许多文件夹,每个文件夹都与以用户或所有者名称命名的网站相关。除此之外,您可以在每个文件夹中拥有一个 .htaccess 文件,该文件按上述方式配置该文件夹中的文件。

如何在Apache服务器上配置htaccess文件如下...

Apache 服务器上的配置

可能有两种情况:

在自己的服务器上托管网站

在这种情况下,如果.htaccess文件未启用,您只需转到httpd.conf(默认配置文件)即可启用.htaccess文件对于 Apache HTTP 守护程序)并找到 部分。

<Directory "/var/www/htdocs">

并找到显示以下内容的行:

AllowOverride None 

并更正为。

AllowOverride All

现在,重新启动 Apache 后,.htaccess 将起作用。

在不同的托管提供商服务器上托管网站

在这种情况下,最好咨询托管管理员,如果他们允许访问 .htaccess 文件。

Apache Web 服务器网站的 25 个“.htaccess”技巧

1. 如何在.htaccess文件中启用mod_rewrite

mod_rewrite 选项允许您使用重定向并通过重定向到其他 URL 来隐藏您的真实 URL。这个选项非常有用,可以让您将冗长的 URL 替换为简短易记的 URL。

要允许 mod_rewrite,只需练习将以下行添加为 .htaccess 文件的第一行。

Options +FollowSymLinks

此选项允许您跟踪符号链接,从而启用网站上的 mod_rewrite 选项。稍后将介绍用短而清晰的 URL 替换 URL。

2. 如何允许或拒绝访问网站

htaccess 文件可以使用 orderalloworderalloworder 来允许或拒绝对其所在目录中的网站或文件夹或文件的访问b>拒绝关键字。

仅允许访问 192.168.3.1 IP
Order Allow, Deny
Deny from All
Allow from 192.168.3.1

OR

Order Allow, Deny
Allow from 192.168.3.1

Order 关键字此处指定允许拒绝访问的处理顺序。对于上面的“Order”语句,将首先处理Allow语句,然后处理deny语句。

仅拒绝一个 IP 地址的访问

以下几行提供了允许所有接受 IP 地址 192.168.3.1 的用户访问网站的方法。

rder Allow, Deny
Deny from 192.168.3.1
Allow from All

OR


Order Deny, Allow
Deny from 192.168.3.1

3.针对不同的错误代码生成Apache错误文档。

使用一些简单的行,我们可以修复当用户/客户端请求网站上不可用的页面时,在服务器生成的不同错误代码上运行的错误文档,就像我们大多数人看到的“404 Page not find<”他们的网络浏览器中的' 页面。 “.htaccess”文件指定在出现此类错误情况时要采取的操作。

为此,需要将以下行添加到“.htaccess”文件中:

ErrorDocument <error-code> <path-of-document/string-representing-html-file-content>

'ErrorDocument' 是一个关键字,错误代码可以是 401403404500 或代表代码的任何有效错误,最后,“文档路径”代表本地计算机上的路径(如果您使用自己的本地服务器)或服务器上的路径(如果您使用任何其他服务器来托管您的网站)。

例子 :
ErrorDocument 404 /error-docs/error-404.html

上面的行设置了放置在 error-docs 文件夹中的文档“error-404.html”,以便在服务器因任何无效请求报告 404 错误时显示该文档客户端的页面。

rrorDocument 404 "<html><head><title>404 Page not found</title></head><body><p>The page you request is not present. Check the URL you have typed</p></body></html>"

上面的表示也是正确的,它放置了表示常用 html 文件的字符串。

4. 设置/取消设置 Apache 服务器环境变量

.htaccess 文件中,您可以设置或取消设置服务器允许网站托管者修改的全局环境变量。要设置或取消设置环境变量,您需要将以下行添加到 .htaccess 文件中。

设置环境变量
SetEnv OWNER “Gunjit Khera”
取消设置环境变量
UnsetEnv OWNER

5. 为文件定义不同的MIME类型

MIME多用途互联网多媒体扩展)是浏览器在运行任何网页时默认识别的类型。您可以在 .htaccess 文件中为您的网站定义 MIME 类型,以便服务器可以识别并运行您定义的不同类型的文件。

<IfModule mod_mime.c>
	AddType	application/javascript		js
	AddType application/x-font-ttf		ttf ttc
</IfModule>

这里,mod_mime.c是用于控制不同MIME类型定义的模块,如果您的系统上安装了此模块,那么您可以使用此模块为网站中使用的不同扩展名定义不同的MIME类型以便服务器能够理解它们。

6. 如何限制 Apache 上传和下载的大小

.htaccess 文件允许您控制特定客户端从您的网站上传或下载的数据量。为此,您只需将以下行附加到 .htaccess 文件中:

php_value upload_max_filesize 20M
php_value post_max_size 20M
php_value max_execution_time 200
php_value max_input_time 200

上述行设置最大上传大小、发布数据的最大大小、最大执行时间(即允许用户在其本地计算机上执行网站的最长时间)、输入时间的最大时间限制。