htaccess 文件终极指南

htaccess 文件:终极指南

当深入研究 cPanel 或托管平台的文件管理器时,您可能会偶然发现一个名为 .htaccess 的文件。 您是否想过“.htaccess 是什么意思?” 它是调整 Apache Web 服务器配置设置的关键工具,Apache Web 服务器是一种广泛用于各种操作系统的服务器软件。

乍一看,.htaccess 文件的语法可能看起来很复杂,但它的功能却非常强大。 它能够执行 URL 重定向、密码保护和基于某些标准限制访问等任务,从而强调了其重要性。 我们的指南旨在阐明如何建立 .htaccess 文件并利用其一些主要功能。

HTACCESS 命令和目录索引:

目录索引:通过 .htaccess 文件控制的一个基本方面是目录索引。 该术语表示当访问者在您的网站上打开目录而未精确定位特定文件时显示的默认 HTML 代码或文件。 通过“DirectoryIndex”指令,您可以指定访问目录时显示的文件顺序。 为了显示:

DirectoryIndex index.html index.php home.html

在这里,如果访问者导航到某个目录而不指示文件,系统首先检查“index.html”,然后检查“index.php”,最后检查“home.html”以显示为该目录的登陆页面。

网址重定向:.htaccess 文件可以轻松地将 URL 重定向到新的目的地或定制的错误页面。 使用“Redirect”命令可确保简单的重定向,而“RewriteRule”则允许通过正则表达式进行复杂的重定向。 例如:

Redirect 301 /old-page.html https://www.example.com/new-page.html

在此演示中,301 重定向将“old-page.html”URL 永久转移到“https://www.example.com/new-page.html”。

密码保护:使用 .htaccess 文件,您可以增强特定目录的安全性。 为此目的部署了指令“AuthType”、“AuthName”、“AuthUserFile”和“Require”。 例如:

AuthType Basic

AuthName“限制区域”

AuthUserFile /路径/定向/到/密码/文档

需要有效的用户

在这种情况下,将要求任何访问者输入用户名和密码,以按照这些说明访问包含 .htaccess 文件的目录。

掌握并利用这些 .htaccess 命令将使您能够增强站点的功能和安全性,挖掘 Apache Web 服务器的巨大潜力。 始终谨慎处理 .htaccess 文件,因为错误配置可能会在您的平台上引发不可预见的挑战。

 

初始说明和设置

htaccess文件

.htaccess 文件因其领先时期而通常被称为“点文件”,是 Web 域治理中不可或缺的关键配置文件。 那么,.htaccess 代表什么? 它是“超文本访问”的缩写,是确保 Web 服务器无缝运行和强化安全性的重要组成部分。

.htaccess 等点文件可能与特定操作系统或软件链接,并且通常被系统隐藏在文件管理器或查找器界面中。 要发现这些隐藏文件,您可能需要修改系统的显示设置以显示隐藏文件。 或者,在命令行中,使用“ls -a”将显示所有文件,包括隐藏文件,例如 Linux 中的 htaccess 文件位置。

您的服务器可以托管多个 .htaccess 文件,每个文件都注入不同的 htaccess 代码。 这些文件递归地运行。 这意味着每个 .htaccess 文件都可以影响其驻留目录,包括其所有文件和子目录。 因此,它是一个适应性强的工具,用于规定网站行为和安全的各个方面。

将 .htaccess 文件与主服务器配置文件区分开来非常重要,主服务器配置文件通常称为“httpd.conf”或“apache2.conf”,具体取决于服务器的设置。 虽然后者控制整个服务器,但 .htaccess 文件授予更细化的、特定于目录的配置。

通过 FTP 将 .htaccess 文件发送到服务器时,以 ASCII 模式传输它至关重要。 大多数FTP工具默认采用BINARY模式进行数据传输; 然而,这种模式会笨拙地处理点文件。 为了避免内容中断,您的 FTP 工具应该允许您切换传输模式。 如果嵌入弹出窗口,您可以使用“/popup_window.php?site_isp_root=”之类的语法将用户引导至相关内容。

将 .htaccess 上传到服务器后,仔细检查其可操作性。 如果您的更改看起来无效,原因可能是文件权限未对齐。 .htaccess 文件应具有设置为 755 的权限,授予所有者读取、写入和执行权限,而其他文件保留读取和执行权限。 通过“文件权限”部分中的 FTP 工具修改这些权限,或在命令行中使用“chmod 755 .htaccess”。

总而言之,.htaccess 文件是一个强大的配置工具的缩影,它是网站功能的基础。 它提供了一种适应性强的方法来管理服务器配置、URL 重新路由和访问限制。 掌握其功能并对其进行精心管理将增强其功效,确保您的网站没有潜在的故障。

服务器配置文件

利用 .htaccess 文件(Apache Web 服务器的服务器配置集中的基本元素)提供了创建自定义错误网页的方法。 当用户偶然发现错误消息时,增强用户在网页上的体验就变得尤为重要。 遇到“404 文件未找到”、“401 未经授权的访问”或“500 内部服务器错误”等警告通常会让用户感到不安。 通过提供弹出窗口或返回主页的链接等解决方案,您可以确保用户可以轻松导航回他们想要的位置。 这是一个不容忽视的功能。

Apache Web 服务器依赖于 .httaccess 文件,在不同平台上享有盛誉。 这允许用户调整特定于各个目录的服务器配置。 这种适应性有助于针对您站点的每个部分进行定制配置,确保它们满足您规定的标准。

实用的 .htaccess 配置是使用单个服务器托管多个用户站点。 通过在此 php 文件中输入正确的指令,您可以无缝地监控服务器上的多个域或子域。 每个都可以定向到其不同的目录和网页内容。 对于那些在网络托管领域或在单一托管保护下处理大量网站的人来说,这一特征尤其突出。

除了自定义错误网页和多站点托管之外,.htaccess 文件的强大功能还扩展到多种配置:URL 重写、访问管理、激活服务器端包含项等等。 这是一股不可忽视的力量,可以增强网站的功能和防御力,而无需触及主服务器配置文件。

要将自定义错误网页编织到您的网站结构中,请将相关代码注入您的 .htaccess php 文件中。 这一举措体现了 .htaccess 文件作为分布式服务器配置工具的本质。 它是一个推动者,可以改善用户体验并提高网站性能。 个性化错误消息、使用弹出窗口以及逐个目录地命令服务器设置的能力意味着 .htaccess 文件通常是打造更直观、更精简的 Web 生态系统的答案。

页面重定向

页面重定向 的另一种常见用法 .htaccess 用于页面重定向。 您可以从站点主管中的任何相对路径进行指导。 您也可以重定向到站点上的绝对路径,也可以重定向到Internet上的其他完全路径。 您的基本语法 .htaccess 文件是:

重定向/ directory_to_redirect_from / https://mysite.com/new_directory/index.html 

您应该始终使用相对路径作为源目录。 绝对路径应该是要重定向到的目录。

 

htaccess文件:添加密码保护

在您的网站上实施密码保护,无论是针对整个网站还是仅针对特定目录,都是 .htaccess 文件有效处理的任务。 具有密码保护的网站或目录需要用户名和密码才能访问。 当用户登陆受密码保护的页面时,登录弹出窗口将出现在浏览器上。 Apache HTTP 服务器确保 .htaccess 文件中的所有密码都经过加密以提高安全性。

要为特定目录添加密码保护,请在该目录中创建一个新的 .htaccess 文件,突出显示 .htaccess 文件在限制对文件夹的访问中的作用。 如果您希望使用密码保护整个网站,请将 .htaccess 文件放在根目录中。 重要的是要记住 .htaccess 文件递归地对主目录中包含的所有文件和子目录应用密码保护。

下面是实现密码保护的基本语法:

bash
AuthName "Authorized Access Only"
AuthUserFile /htpassword-filepath/.htpasswd
AuthType Basic
require valid-user

指令“AuthName 'Authorized Access Only'”设置受保护目录的名称,该名称出现在登录弹出窗口中。

“AuthUserFile /htpassword-filepath/.htpasswd”命令通知 Apache 服务器 .htpasswd 文件的位置。 将“/htpassword-filepath/.htpasswd”替换为服务器上 .htpasswd 的实际文件路径。

“AuthType Basic”指令表示使用基本 HTTP 身份验证,这是最普遍的类型,适用于大多数用途。

最后,“require valid-user”规定访问目录需要有效的用户名和密码。 如果访问仅限于特定用户,请将其替换为“需要用户名”,将“名称”替换为特定用户名。 这对于只应由特定个人访问的网站的管理部分特别有用。

这是一个很酷的视频,展示了Zac Gordon如何创建和编辑.htaccess文件。

 

.htpasswd

您可以将 .htpasswd 在大多数服务器上的任何目录中,只要您将文件的绝对路径放在 .htaccess。 使用相对路径或URL不会找到文件。 在某些情况下 .htpasswd 将需要与以下目录位于同一目录中 .htaccess但是。 此外,您可以命名 .htpasswd 其他的东西。 尽管这是Apache会自动理解的命名约定。

向添加密码 .htpasswd,请使用以下语法:

用户名:encryptedpassword
管理员:fs424sJK / 67JGmn

您可以在一个文件夹中保存多个用户名和密码 .htpasswd 文件,每个文件都各自一行。 每个用户名和密码对应该在同一行上,且不能有空格,只能用冒号分隔。

Linux服务器 要求您使用密码加密服务来加密密码。 有许多此类应用程序和网站可以免费执行此操作。 值得一提的一个选择是 ionix的DirectoryPass.

请记住 .htaccess 不允许注销功能。 输入正确的登录凭据后,它们将保存在Web浏览器的缓存中,直到您退出浏览器为止。 退出浏览器后重新打开页面将要求您再次输入凭据。

拒绝通过IP地址访问

拒绝通过IP地址访问 由...提供的一种有用的工具 .htaccess 是根据访问者的 IP 地址阻止访问者的能力。 通过这种方式,您可以完全阻止某些访问者。 或者,您可以阻止网站的某些部分,只需添加一个 .htaccess 文件到特定目录。

为了根据访问者的IP地址阻止访问者,请使用以下语法:

为了允许,拒绝
从345.4.5.0否认
从754.53.8否认。
允许所有

该示例中的代码指示Apache拒绝来自IP地址的访问 345.4.5.0754.53.8。 第三行,IP地址 754.53.8 不包含第四位数字,因此任何与前三位匹配的IP地址都将被阻止。 这意味着 754.53.8.2, 754.53.8.4等等都会被拒绝访问该网站。

如果只希望允许从特定IP地址访问而不是阻止访问,则语法非常相似。 您可以使用以下代码:

为了允许,拒绝
从345.4.5.0允许
拒绝所有

在此代码中,唯一可以访问该站点的IP地址是 345.4.5.0 —所有其他IP将被拒绝。

在这两种情况下(设置允许或禁止的IP地址),您都可以根据需要添加任意数量的记录,每条记录都位于自己的行上。

当IP被阻止时,访问者将看到“ 403 Forbidden”错误消息。 如前所述,您可以自定义错误页面,以向访问者提供更多人类可读的信息。

防止热链接

当另一个站点从您的站点获取资源(例如图像、视频、 CSS文件等),这会不必要地占用您的带宽。 这可能会导致更高的托管成本,而不会为您带来任何归属或利益。

幸好, .htaccess 可以避免这种情况的发生,并禁止其他域显示您的内容:

RewriteEngine叙述上
HTTP_REFERER的RewriteCond%{}!^ $
RewriteCond%{HTTP_REFERER}!^ https://(www \。)?mycoolsite.com /.*$ [NC]
RewriteRule \。(png | jpg | mp4)$-[F]

 

以上,.htaccess 不允许 .png, .jpg or .mp4 要从非域链接的文件 https://www.mycoolsite.com。 您可以指定其他不允许的文件格式(例如 .css, .mp3等)。 当然,您将需要使用自己的域名切换代码。

要更进一步,在出现外部网站尝试链接到您的内容的情况下,您可以提供备用图片或要在其位置显示的消息(例如,“抱歉,您正在尝试的内容”可以从mycoolsite.com访问”):

如果外部站点尝试链接到您的内容,则可以提供替代图像或消息以在其位置显示。 一个例子是一张图片,上面写着“对不起,您尝试访问的内容来自mycoolsite.com”。

RewriteEngine叙述上
HTTP_REFERER的RewriteCond%{}!^ $
RewriteCond%{HTTP_REFERER}!^ https://(www \。)?mycoolsite.com /.*$ [NC]
RewriteRule \。(png | jpg | mp4)$ https://www.mycoolsite.com/hotlink-error-message.jpg [R,L]

这将显示 hotlink-error-message.jpg 每当有人尝试链接到 .png, .jpg.mp4 从文件 mycoolsite.com.

htaccess 重定向到 HTTPS

当您向站点添加 SSL 证书时,您的服务器将继续为您所有网页的 HTTP 版本提供服务。 这就是为什么您需要将 HTTP 重定向到 HTTPS,在您的站点上强制使用 SSL。

请注意,您可以通过 .htaccess 执行的一项重要功能是 301 重定向,这可以将旧 URL 永久重定向到新 URL。 按照以下简单步骤激活该功能以对进入您网站的所有流量强制使用 HTTPS 很简单:

  1. 在您的主机面板中,转到文件管理器并打开 public_html 文件夹中的 .htaccess。 如果您找不到它,您应该创建或取消隐藏它。
  2. 之后,向下滚动以找到 RewriteEngine On,然后在下面插入这些代码行;
  3. htaccess 重定向到 HTTPS 现在保存更改。

htaccess WordPress的

你应该知道在 WordPress, .htaccess 是一种特殊的配置文件,可以控制您的网络服务器如何运行和管理您的站点。 htaccess 文件是最强大的配置文件之一,可以控制 WordPress 网站上的 SSL 连接、301 重定向、密码保护、默认语言等。

值得注意的是,.htaccess 配置文件的使用变得越来越流行,因为它们可以很容易地用于覆盖与访问目录有关的国际服务器设置。 然而,最近,.htaccess 可以覆盖其他几个配置设置。

htaccess 文件示例

您会很高兴知道在 .htaccess 文件中可以轻松实现大量的配置可能性。

阻止 IP 地址

您是否收到垃圾邮件流量? 也许,您的网站正在遭受来自特定 IP 地址的黑客攻击或滥用。 如果是这种情况,您可以对 .htaccess 文件采取措施。 您可以使用 .htaccess 文件中的代码轻松阻止来自该 IP 地址的流量。

要阻止特定或特定域,您可以将以下内容添加到您网站的根 .htaccess 文件中:

拒绝来自 123.123.123.123/255.255.255.0

之后,更改 IP 地址以及网络掩码值以匹配您希望阻止的域。

防止图片盗链

您应该知道,当有人将您网站上的图像嵌入到他们自己的网站中时,就会发生图像盗链。 这可能是非常有问题的(不仅仅是从版权角度来看),因为这意味着您的服务器可能必须加班以在其他人的网站上提供图像。

最好的事情是,您可以通过使用 .htaccess 文件轻松阻止这种情况,并阻止某人将您受版权保护的图像嵌入到他们的网站上。

通过在 .htaccess 文件中输入以下几行,您可以轻松防止盗链到您的网站:

htaccess-file-Block IP 地址

您还可以使用以下代码:

htaccess-file-Block IP 地址

如何找到 .htaccess 文件?

您是否知道大多数网站(包括基于 WordPress 构建的网站)都配备了 .htaccess 文件? 该文件通常位于站点的根目录中。 值得注意的是,.htaccess 文件通常是隐藏的并且缺少文件扩展名。

您通常可以在站点的“public_html”文件夹中找到 .htaccess 文件位置的答案。

.htaccess 文件由什么构成?

.htaccess 文件应包含各种规则,用作 Web 服务器的指令。 它是几乎每个网站的常见功能,位于网站的根目录或中央目录中。

好处和缺点

.htaccess 文件的优点之一是其实时适用性。 这些文件会根据每个请求进行读取,这意味着您所做的任何更改都会立即生效。 这与全局设置形成鲜明对比,全局设置通常需要重新启动服务器才能应用更改。 此外,.htaccess 授权允许每个用户快速设置其服务器权限,这在多用户环境中特别有用。

然而,也有缺点。 由于服务器必须读取每个请求的 .htaccess 文件,因此这可能会在高负载下导致中度到严重的性能问题。

此外,通过 .htaccess 文件在不同用户之间分散设置可能会导致各种安全漏洞,特别是在这些文件配置不准确的情况下。

如何禁用 .htaccess 文件?

如果您想要禁用 .htaccess 文件,通常可以通过重命名它或将其移出根目录来实现。 但是,应谨慎执行此操作,因为它可能会影响您网站的功能。

有关更多详细信息,您可以搜索答案副本链接以安全地禁用 .htaccess 文件。

需要注意的事项

虽然 .htaccess 文件非常有用,您可以使用它来显着改进您的网站,但它可能会影响两件事。

速度

.htaccess 文件可能会降低您的 Web 服务器的速度。 请注意,对于大多数服务器,这可能是一种难以察觉或微小的变化。 这仅仅是因为页面的位置。

您应该知道 .htaccess 文件会影响其目录中的所有页面以及其下的所有目录。 这意味着每次加载页面时,网络服务器都会扫描其目录及其上方的所有内容,直到最终到达 .htaccess 文件或最高目录。

安全性

您是否知道与标准 apache 配置相比,.htaccess 文件更易于访问? 此外,更改是立即进行的。 请注意,授予用户在 .htaccess 文件中进行更改和更改的权限会使他们对 Web 服务器本身进行过多的控制。

修改 .htaccess 文件:风险和注意事项

编辑 htaccess 文件

您是否意识到与编辑 .htaccess 文件相关的固有风险? 删除基本代码或添加不正确的语法可能会损坏您的网站。 为了最大限度地减少这些风险,在直接编辑 .htaccess 文件之前实施至少一项保护措施至关重要。

您有多种选择来保护您的工作。 一种方法是备份您的网站,以便在发生错误时恢复到以前的版本。 或者,您可以利用暂存网站来查看编辑的影响,然后再将其发布到您的主站点上。

为了提高安全性,建议创建 .htaccess 文件的备份副本并将其下载到您的计算机上。 这样做可以确保如果您的默认 .htaccess 文件出现问题,您可以上传一个后备选项来恢复功能。

综上所述

掌握网站文件(例如 .htaccess 和 conf 文件)的操作是您成为一名可靠的 Web 开发人员过程中的一个重要里程碑。 鉴于 .htaccess 文件的广泛应用及其在 apache 配置中的作用,它是一个很好的起点。

每次您加深对网站幕后发生的事情的了解,您就离成为一名熟练的网站管理员更近了一步。 这种专业知识使您能够有效地优化网站的功能。 您的问题显示了研究工作,您可能还会发现相关的问题源默认是进一步学习的有用资源。

 

安吉洛·弗里西纳(Angelo Frisina)

Sunlight Media LLC 的首席执行官兼创始人 Angelo Frisina 在全球范围内提供专业的数字营销和网络开发服务。

Angelo 在搜索引擎优化、网页设计和数字营销方面拥有丰富的经验,他了解现代企业的需求。他专注于创新解决方案和卓越成果,帮助企业快速发展并超越竞争对手。Angelo 对客户成功的承诺源于他对超越期望的热情。

Angelo 专注于 SEO 策略,其客户包括本地企业、初创公司、非营利组织、政府机构和本地企业。Sunlight Media LLC 与客户密切合作,开发独特、有效的解决方案,强调卓越的客户服务。

凭借超过 22 年的经验,Angelo 已经在 WordPress、Magento、PHP/Laravel、Joomla! 和 Shopify 等平台上优化了数百个网站,确保客户在不断发展的数字环境中获得顶级搜索引擎排名。

所有文章

一个 评论

  • 声音 十月17,2021 7在:上午58

    好文章是表达的绝佳方式。 保持