• 日常搜索
  • 百度一下
  • Google
  • 在线工具
  • 搜转载

了解和配置WordPress中的 .htaccess文件的正确方法

如果您是网站所有者,您可能已经对. htaccess文件或至少知道它们的存在。在本教程中,我们将帮助您了解.htaccess文件的用途。我们还将讨论如何访问和配置 wordpress 网站的.htaccess文件。

.htaccess文件有什么作用?

Apache Web 服务器使用.htaccess文件来确定它应该如何向访问者提供文件。您可以使用此文件为不同的目录提供不同的配置选项。您在特定目录内的.htaccess文件中设置的选项将应用于该目录内的所有文件和子目录。

您可以使用.htaccess文件来做很多事情,例如重写 URL、将用户从不安全的网页重定向到安全的网页版本或控制缓存。

我的 WordPress .htaccess文件在哪里?

通常,文件名包含实际的基本名称和扩展名,如联系人。pdf和log.txt。但是,.htaccess文件没有扩展名。它以点开头,因为这使它在 Unix 和 Linux 操作系统中隐藏。

该文件位于 WordPress 安装的根目录中。但是,您可能一开始看不到它,因为您的 FTP 客户端可能隐藏了它。如果您在 WordPress 根文件夹中没有看到.htaccess文件,请在您的 FTP 客户端中寻找显示隐藏文件的选项。

了解和配置WordPress中的 .htaccess文件的正确方法  第1张

之后,您应该会看到该文件,如上图所示。与常规文件相比,文件名的颜色可能仍然较浅。如果您仍然看不到.htaccess文件,请参阅下面的一些故障排除提示。

WordPress 如何使用.htaccess文件?

WordPress 核心使用.htaccess文件来重定向 URL,以使它们具有可读性以及 SEO 和用户友好性。该文件位于您的 WordPress 网站的根目录中。这是您首次安装 WordPress 的位置。它还将包含另一个名为index.html 的文件。php在与.htaccess文件相同的目录中。

如果您登录 WordPress 管理仪表板,然后转到Settings > Permalinks,您将看到 WordPress 允许您选择一种格式来为您发布的任何帖子创建 URL。URL 可以包含月份、日期、帖子类别和帖子名称等的混合。

选择其中一项设置并单击“保存更改”按钮将提示 WordPress使用一些 URL 重写条件更新.htaccess文件。然后,您的.htaccess文件将具有一些类似于下面列出的 URL 重写规则。

# begin WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

您自己的.htaccess文件可能包含更多规则,具体取决于您在网站上安装的插件。例如,您安装的任何安全插件都可以向文件中添加规则,以防止来自某些 IP 地址的事件访问或仅允许来自白名单 IP 地址的访问。安全插件可以在.htaccess文件中做更多的事情,比如防止垃圾评论和图片盗链。

下图显示了All In One WP Security插件在.htaccess文件中写入的一些规则。

了解和配置WordPress中的 .htaccess文件的正确方法  第2张

您还将找到一些与缓存不同类型文件相关的附加规则。如果您安装了任何处理缓存的 WordPress 优化插件,则可能会设置这些。这是一张图片,其中包含一些关于不同类型文件的缓存到期日期的规则。这些是由缓存插件添加的。

了解和配置WordPress中的 .htaccess文件的正确方法  第3张

查找和更新.htaccess文件时的问题

.htaccess文件应该与 Apache Web 服务器一起使用。这意味着您不会在 Nginx 等其他服务器上找到有效的.htaccess文件。如果您在根目录中四处查看,但仍然没有看到.htaccess文件,请从您的网络主机确认您是否在 Apache 或其他技术上运行。

WordPress 还需要具有适当的权限才能读取和修改.htaccess文件。如果默认情况下不工作,您将需要更改文件权限以使 WordPress 能够更新文件。

了解.htaccess文件的基础知识

您在网站上安装的任何安全和缓存插件通常都不仅仅是在.htaccess文件中编写一堆行。但是,如果需要,对一些常用命令有基本的了解将使您在修改.htaccess文件时更加自如。这还可以帮助您避免安装任何插件来执行简单的任务,例如将用户重定向到安全页面或从旧的不存在的 URL 到新的 URL。

在开始对其进行任何更改之前备份原始.htaccess文件始终很重要。这是因为更改文件时的任何错误都可能导致您的网站瘫痪或行为异常。拥有原始版本的副本将使您只需将更改的文件替换为原始版本即可启动并运行网站。

您可以编写您的规则以及评论,以向他人提供说明或解释您编写这些规则的原因。.htaccess文件中的任何注释都必须#以第一个字符开头。我们将向您展示如何通过直接编辑.htaccess文件而不是安装插件来完成一些基本任务。

重定向旧 URL

假设您在某个不再存在的旧 URL 上发布了热门帖子。这可能类似于您不再销售的旧版本产品。在这种情况下,您可能希望将访问旧 URL 的人重定向到您的新网页。

您可以将以下行添加到您的.htaccess文件中来执行此操作。请记住将路径替换为您的实际 URL 值。

Redirect 301 /some-old-post-url/ /new-post-url/

您还可以使用相同的命令将整个网站重定向到新的 URL。在我的例子中,WordPress 安装在一个名为wordpress的目录中。所以我可以在我的.htaccess文件中添加以下行以将其重定向到其他地方。

Redirect 301 /wordpress/ https://www.weixiaolive.com/en/

添加以上行后,访问/wordpress/some-post/ 的人将被重定向到https://www.weixiaolive.com/en/some-post/ 。

缓存常用文件类型

您网站的常客会一次又一次地请求相同的cssjavascript和图像文件。因此,让他们从缓存而不是常规传输中获取这些文件是有意义的。您可以使用.htaccess文件添加基本缓存功能。这是一个缓存这些文件的示例。

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css A604800
ExpiresByType text/JavaScript A1296000
ExpiresByType application/javascript A1296000
ExpiresByType application/x-javascript A1296000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000
</IfModule>

A后面的数字设置文件将被缓存的总秒数。通过将时间段指定为人类可读的值,还有另一种设置缓存时间段的方法。

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 15 days"
ExpiresByType application/javascript "access plus 15 days"
ExpiresByType application/x-javascript "access plus 15 days"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
</IfModule>

您现在应该能够为缓存插件未涵盖的文件类型指定缓存指令。

将用户重定向到安全页面

.htaccess文件的另一个用途是将用户从 HTTP 页面重定向到相应的 HTTPS 页面。您可以使用以下规则来执行此操作。

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

标志R和L可以按任何顺序排列。R标志告诉服务器发送指定的响应代码,L标志告诉服务器停止处理集合中的任何更多规则。

最后的想法

我们在这篇文章的开头简要解释了.htaccess文件的用途。之后,我们了解了您可以在 WordPress 中何处找到此文件,以及 WordPress 和其他插件如何使用它来执行缓存资源和提高安全性等操作。最后,我们讨论了一些常见的规则和命令,您可以在自己的.htaccess文件中找到它们,以及如果它们尚不存在如何添加它们。

文章目录
  • .htaccess文件有什么作用?
  • 我的 WordPress .htaccess文件在哪里?
  • WordPress 如何使用.htaccess文件?
  • 查找和更新.htaccess文件时的问题
  • 了解.htaccess文件的基础知识
    • 重定向旧 URL
    • 缓存常用文件类型
    • 将用户重定向到安全页面
  • 最后的想法