WordPress .htaccess 文件:安全、SSL、重定向、规则、技巧等

免责声明: WPblog 是托管云托管服务 Cloudways 的一部分,但对此属性所做的任何假设或分析仅属于其作者。

什么是 WordPress .htaccess 文件?如果您问这个问题,那么您已经走在成为一名优秀 WordPress 开发人员的正确道路上,因为了解 WordPress 中每个文件的作用非常重要。如果您分解并了解 WordPress 文件结构中每个文件的作用,一切都会变得容易理解。

不过,在本文中,我将重点关注 WordPress 网站中的 .htaccess 文件,并教您如何优化网站的速度、提高其安全性以及利用 WordPress .htaccess 文件的其他有用方法。

目录

  1. 什么是 WordPress .htaccess 文件?
  2. 在我们开始之前
    • 备份 WordPress 网站
    • 创建 WordPress 网站的本地副本
    • 创建 WordPress 临时/开发网站
    • 备份当前 WordPress htaccess 文件
  3. 如何访问 .htaccess 文件
  4. 您可以在 WordPress 中使用 Htaccess 文件做什么
    • 设置重定向
    • 301(永久)重定向
    • 302(临时)重定向
    • 强制 URL 为 www
    • 强制 URL 为非 www
    • 强制 HTTP
    • 强制HTTP
    • 将域重定向到子目录
    • 将主域重定向到另一个域
    • 删除 Query_String
    • 根据Client设置语言变量
    • 将 WordPress Feed 重定向到 Feedburner
  5. 使用 htaccess 规则优化 WordPress 速度
    • 设置浏览器缓存的过期标头
    • 启用 Gzip 压缩
    • 使用 WordPress htaccess 文件增加最大上传文件大小
  6. 提高 WordPress 网站的安全性
    • 保护.htaccess
    • 限制对 WordPress 管理面板的访问
    • 密码保护单个文件
    • 保护重要文件
    • 保护/wp-内容/
    • 阻止 IP 地址
    • 拒绝访问某些文件
    • 防止文件图像/文件盗链和带宽窃取

什么是 WordPress .htaccess 文件?

WordPress .htaccess 文件是核心文件之一,可用于优化网站速度、提高网站安全性,还可以在 WordPress 网站上设置特定的重定向规则。

htaccess 的主要目的是为 Web 服务器 (Apache) 定义如何操作您的网站 (WordPress) 的规则。默认的 WordPress .htaccess 文件控制在 WordPress 网站上显示漂亮链接(永久链接)的方式,但您可以在 WordPress 中使用 htaccess 文件执行更多操作。

在我们开始之前

在没有备份的情况下编辑 WordPress 文件绝不是一个好主意。因此,我建议您在编辑 htaccess 文件之前采用以下方法之一:

备份 WordPress 网站– 您应该有一个备份策略,这是备份整个 WordPress 网站时应该采取的最简单的安全步骤之一。

另请阅读:最佳 WordPress 备份插件

创建 WordPress 网站的本地副本– 您可以在 Mac 或 PC 上本地安装 WordPress,并将实时网站复制到其中进行编辑。如果一切正常,您可以将 htaccess 文件复制到您的实时站点(但不适用于 URL 重定向规则)。

创建 WordPress 临时/开发网站– 托管 WordPress 托管提供商的一个非常常见的功能是创建临时和开发网站。临时网站位于临时 URL 上,是您的实时网站的副本。您可以在开发网站上进行更改,并在完成后将更改推送到您的实时网站。 Cloudways、Pantheon 和 Siteground 是一些以提供此功能而闻名的托管提供商。

备份当前的 WordPress htaccess 文件– 您可以在进行编辑之前创建 htaccess 文件的备份。如果编辑 htaccess 后出现任何问题,您只需将其替换为备份文件即可。

如何访问 .htaccess 文件

WordPress 初学者会问的前两个问题“WordPress 中的 htaccess 文件在哪里?”和“如何访问 htaccess 文件?”。那么,您可以在 WordPress 网站的根目录 (public_html) 中找到 htaccess 文件,并且可以使用 FileZilla 等 FTP 客户端来访问它。

如果您在 WordPress 根目录中找不到 htaccess 文件,则可能您的 WordPress 网站没有默认的 htaccess 文件,或者您的 FTP 客户端未显示隐藏文件。 htaccess默认是一个隐藏文件,这就是为什么它以“.”开头。

要在 FileZilla 中查看隐藏文件,请执行以下操作:

  • 打开 Filezilla FTP 并连接到您的网络服务器。
  • 导航到安装 WordPress 的根目录。
  • 从屏幕顶部的菜单栏中选择服务器。
  • 选择“强制显示隐藏文件”。

如果显示隐藏文件后仍然看不到任何 htaccess 文件,则意味着您的 WordPress 网站没有 .htaccess 文件。不过,不用担心,因为您的 WordPress 正在运行“永久链接”的默认规则。

要生成 htaccess,请登录您的WordPress 管理员,导航至“设置”>“永久链接” ,然后单击“保存更改”。

完成此操作后,刷新 FTP 客户端屏幕,您将看到带有默认代码的 htaccess 文件。

12345678910 #RewriteBase开始 WordPress RewriteEngine /重写规则 ^索引\ . php $ [ L ]重写条件 % { REQUEST_FILENAME } -fRewriteCond _ % { REQUEST_FILENAME } -d重写规则 /指数 php [ L ] #END WordPress

您可以在 WordPress 中使用 htaccess 文件做什么

现在您已经知道如何进入 htaccess 文件,是时候深入了解可以在 WordPress htaccess 文件中定义哪些特定规则了。我将把规则分为三类:

  • 重定向规则
  • 提高 WordPress 速度
  • 确保 WordPress 安全

设置重定向

首先,我们来介绍一下您可以在 WordPress 网站上实施的最常见的重定向规则。

301(永久)重定向

301 重定向规则告诉访问者的浏览器和搜索引擎机器人某个 URL 已永久移动到另一个 URL。以下是 SEO 用于保留其页面在 SERP 中排名的常见重定向规则:

重定向 301 /oldpage.html http://www.yourwebsite.com/newpage.html

302(临时)重定向

如果您正在处理主 URL 并希望暂时将访问者重定向到另一个页面一段时间,那么您可能需要使用 302 重定向规则。

重定向 302 /oldpage.html http://www.yourwebsite.com/newpage.html

强制 URL 为 www

如果您希望您的 URL 始终以 www 开头,请使用以下代码,使您的 URL 在整个网站上保持一致:

123重写引擎 onRewriteCond _ % { HTTP_HOST } ^示例 com [ NC ]重写规则 ^ ( . * ) $ http://www.example.com/$1 [ L,R=301,NC]

强制 URL 为非 www

同样,如果您更喜欢不带 www 的简洁 URL,则以下代码将为您实现:

123重写引擎 onRewriteCond _ % { HTTP_HOST } ^ www 例子 com [ NC ]重写规则 ^ ( . * ) $ http://example.com/$1 [ L,R=301]

强制 HTTP

如果您在 WordPress 网站上使用 SSL 证书,您可能希望所有访问者和搜索引擎爬网程序重定向到您网站的 HTTPs 版本。使用此代码:

123重写引擎 关于重写条件 % { HTTP : X转发原型} httpsRewrite规则_ ^ ( . * ) $ https : //%{HTTP_HOST}/$1 [R=301,L]

强制HTTP

要在您的网站上强制使用非 HTTPs 连接,请使用以下代码。

123重写引擎 关于重写条件 % { HTTP : X转发原型} ^ https $重写规则 * http : //%{HTTP_HOST}%{REQUEST_URI}</IfModule>

将域重定向到子目录

您可以使用以下规则将域重定向到子目录:

123重写条件 % { HTTP_HOST } ^示例 com $ RewriteCond % { REQUEST_URI } ^/子目录名称/ RewriteRule ( . * ) /子目录/ $ 1

将主域重定向到另一个域

如果您有两个或多个域名,例如 abc.com、abc.net、abc.org 等,并且希望所有这些域名都重定向到一个域,那么您可以在您想要的域中添加重定向规则. 重定向到您的主域:

重定向 301 / http://www.abc.com/

在 abc.net 和 abc.org 中添加上述规则,使它们重定向到 abc.com。

删除 Query_String

通过在末尾添加查询字符串来访问您的网站 URL 将显示相同的内容。例如,也可以通过 myblog.com/?my=query 访问 myblog.com。如果这些查询字符串被搜索引擎抓取,则会创建重复的内容。

解决此问题的简单方法是使用以下代码重定向并删除查询字符串:

123重写条件 % { THE_REQUEST } ^ [ AZ ] + / * \ HTTP重写条件 {请求参数} ^ $重写规则 * https : //www.mywebsite.com%{REQUEST_URI}? [R=301,L]

根据客户端设置语言变量

对于多语言 WordPress 网站,将访问者重定向到其首选语言的最佳方法是检测他们的浏览器语言,并通过在 htaccess 文件中添加以下规则将其重定向到该语言:

12重写条件 % { HTTP 接受语言} ^ . * ( de | es | fr | it | ja | ru | en ) * $ [ NC ]重写规则 ^ ( . * ) $ [ env =首选语言: % 1 ]

注意:许多多语言 WordPress 插件都是自行完成此操作的。

将 WordPress Feed 重定向到 Feedburner

默认情况下,WordPress 会为帖子生成 RSS 提要,但如果您想使用像 Feedburner 这样的第三方提要生成器,请使用以下代码:

1234567891011重写引擎 OnRewriteBase_ _ /重写条件 % { REQUEST_URI } ^/饲料\ . gif $重写规则 * [ L ]重写条件 % { HTTP_USER_AGENT } ^ . * ( FeedBurner | FeedValidator ) [ NC ]重写规则 ^饲料/ ? * $ http://feeds.feedburner.com/apache/htaccess [L, R =302] RewriteCond % { REQUEST_FILENAME } -fRewriteCond _ % { REQUEST_FILENAME } -d重写规则 /指数 php []

使用 htaccess 规则优化 WordPress 速度

可以在 htaccess 文件中设置 WordPress 资源的许多缓存规则和过期时间。这意味着您实际上可以添加规则来优化 WordPress 网站的速度。

设置浏览器缓存的过期标头

如今,许多浏览器会临时缓存 CSS、JS、HTML 等元素以及一些媒体文件(例如经常访问的网站的图标)。如果您的 WordPress 网站上的这些元素不经常更改,那么您可以使用以下规则增加这些资产的到期时间:

1234567891011121314151617181920212223242526272829303132333435363738 < IfModule mod_expires c >         过期有效日期        过期默认                                     “访问权限加 1 个月”      #CSS          ExpiresByType文本/ css                              “访问加 1 年”      # 数据交换         ExpiresByType应用程序/ json                      “访问加 0 秒”          ExpiresByType应用程序/ xml                      “访问加 0 秒”          ExpiresByType文本/ xml                              “访问加 0 秒”      # 网站图标(无法重命名!)          ExpiresByType图像/ x图标                         “访问加 1 周”      #HTML 组件 (HTC)          ExpiresByType text / x组件                     “访问权限加 1 个月”      #HTML          ExpiresByType文本/ html                            “访问加 0 秒”      # JavaScript          ExpiresByType应用程序/ javascript                “访问加 1 年”      # 清单文件         ExpiresByType应用程序/ xwebappmanifest + json “访问加 0 秒”          ExpiresByType文本/缓存清单                 “访问加 0 秒”      #媒体         ExpiresByType音频/ ogg                            “访问权限加 1 个月”          ExpiresByType图片/ gif                            “访问权限加 1 个月”          ExpiresByType图像/ jpeg                            “访问权限加 1 个月”          ExpiresByType图片/ png                            “访问权限加 1 个月”         按类型过期视频/ mp4                            “访问权限加 1 个月”          ExpiresByType视频/ ogg                            “访问权限加 1 个月”          ExpiresByType视频/ webm                            “访问权限加 1 个月”      #网络提要         ExpiresByType应用程序/原子+ xml                  “访问加 1 小时”          ExpiresByType应用程序/ rss + xml                  “访问加 1 小时”      # 网页字体         ExpiresByType应用程序/字体woff2                “访问权限加 1 个月”          ExpiresByType应用程序/字体woff                “访问权限加 1 个月”          ExpiresByType应用程序/ vnd MS-字体对象       “访问权限加 1 个月”          ExpiresByType应用程序/ x字体ttf                “访问权限加 1 个月”          ExpiresByType字体/ opentype                        “访问权限加 1 个月”          ExpiresByType图片/ svg + xml                        “访问权限加 1 个月”

启用 Gzip 压缩

GZIP 是一种非常受欢迎的压缩方法,并已成为许多 WordPress 缓存插件的标准压缩方法。它会压缩文件并创建要使用的临时文件。

如果您想在 WordPress 网站中手动启用 GZIP 压缩,请将以下规则添加到您的 htaccess 文件中:

1234567891011121314151617181920212223242526272829 < IfModule mod_deflate c >    # 压缩 HTML、CSS、JavaScript、文本、XML 和字体   AddOutputFilterByType DEFLATE应用程序/ javascript    AddOutputFilterByType DEFLATE应用程序/ rss + xml    AddOutputFilterByType DEFLATE应用程序/ vnd MS-字体对象   AddOutputFilterByType DEFLATE应用程序/ x字体   AddOutputFilterByType DEFLATE应用程序/ x字体opentype    AddOutputFilterByType DEFLATE应用程序/ x字体otf    AddOutputFilterByType DEFLATE应用程序/ x字体truetype    AddOutputFilterByType DEFLATE应用程序/ x字体ttf    AddOutputFilterByType DEFLATE应用程序/ xjavascript    AddOutputFilterByType DEFLATE应用程序/ xhtml + xml    AddOutputFilterByType DEFLATE应用程序/ xml    AddOutputFilterByType DEFLATE字体/ opentype    AddOutputFilterByType DEFLATE字体/ otf    AddOutputFilterByType DEFLATE字体/ ttf    AddOutputFilterByType DEFLATE图像/ svg + xml    AddOutputFilterByType DEFLATE图像/ x图标   AddOutputFilterByType DEFLATE文本/ css    AddOutputFilterByType DEFLATE文本/ html    AddOutputFilterByType DEFLATE文本/ javascript    AddOutputFilterByType DEFLATE文本/纯文本   AddOutputFilterByType DEFLATE文本/ xml    # 删除浏览器错误(仅适用于非常旧的浏览器)   浏览器匹配 ^火狐/ 4 gzip文本/ html   浏览器匹配 ^ Mozilla / 4 \ . 0 [ 678 ] gzip   浏览器匹配 \ bMSIE gzip gzip文本/ html   附加Vary User Agent </IfModule>

使用 WordPress htaccess 文件增加最大上传文件大小

此规则将允许您在 WordPress 网站上上传更大的文件。默认情况下,许多WP网站的上传文件大小在10MB到25MB左右,但如果你想增加它,请使用以下代码:

1234 64M php_value post_max_size 64M php_value max_execution_time 300 php_value最大输入时间 300

还有很多其他方法也可以查看如何增加 WordPress 上传大小 🙂

提高 WordPress 网站的安全性

在安全方面,您可以添加 htaccess 规则来限制用户对文件或 URL 的访问、阻止对文件的访问等等。

保护.htaccess

攻击者可以通过将恶意规则注入您的 htaccess 文件来关闭您的整个网站,因此,保护它很重要。添加以下规则以拒绝对 htaccess 文件的所有访问:

12345 <文件 "^ . *\.([Hh][Tt][Aa])" >命令允许拒绝拒绝所有满足所有< /文件>

限制对 WordPress 管理面板的访问

WordPress 网站很容易受到尝试登录网站管理员的攻击,例如暴力攻击。如果您想完全限制对仪表板的访问,请创建一个新的 htaccess 文件并将其放置在 /wp-admin 文件夹中并添加以下代码。

123456 # 通过 IP 限制登录和管理<限制GET POST PUT >命令拒绝允许来自xx所有允许拒绝 xx xx xx < /限制>

注意xx.xx.xx.xx是您想要白标的 IP 地址。只有这个IP地址才能登录您的网站。

密码保护单个文件

您可以使用以下 htaccess 规则通过密码保护文件。

123456 <文件登录. php >验证名 “提示” AuthType基本AuthUserFile / web /我的网站. com / . htpasswd需要有效用户< /文件>

保护重要文件

您还应该保护其他重要文件,例如 php.ini、wp-config.php,为此,请添加以下规则来限制访问:

1234 "^.*(error_log|wp- config \.php | php.ini|\.[hH][tT][aApP].*)$ " >订单拒绝允许拒绝所有</FilesMatch>

保护/wp-内容/

文件夹 /wp-content 包含主题文件、图像和缓存文件。攻击者将尝试访问此文件夹中的文件并注入恶意代码。使用此代码将它们拒之门外:

12345订单拒绝允许拒绝所有<文件 ".(xml|css|jpe?g|png|gif|js)$" >允许来自所有< /文件>

阻止 IP 地址

如果您知道攻击者的 IP 地址(您可以从网站日志中获取 IP),您可以使用以下 htaccess 规则阻止它:

12345 <限制GET POST >订单允许拒绝拒绝来自 123.456.78.9允许来自所有< /限制>

拒绝访问某些文件

就像阻止特定 IP 地址一样,您可以使用以下代码阻止对特定文件的访问:

1234_ _ _ txt >命令允许拒绝拒绝所有< /文件>

防止文件图像/文件盗链和带宽窃取

图像和文件可能被盗,并且可能会生成针对图像和文件 URL 的多个请求。这种类型的攻击会增加您的带宽使用量,并可能降低您网站的速度。要防止热链接,请使用以下 htaccess 规则:

12345重写引擎 OnRewriteBase_ _ /重写条件 % { HTTP_REFERER } ^ $重写条件 % { HTTP_REFERER } ^ http : //(www\.)?mywebsite\.com/.*$ [NC] RewriteRule \ . ( gif | jpg | swf | flv | png ) $ /喂养/ [ R = 302 L ]

结论

WordPress htaccess 文件无疑是 WordPress 目录中最重要的文件之一。以正确的方式使用它可以提高网站的安全级别,并有助于优化其速度。除了安全性和速度之外,htaccess 文件还具有强大的规则来更改 WordPress 网站的默认行为。这就是为什么我建议每个 WordPress 开发人员更深入地了解可以在该文件中使用的每条规则。

如果您有任何疑问或想要请求特定规则,请使用下面的评论部分,我会回复您!

本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、Python、Objective-C、ActionScript、Pascal等单词的拼写,熟悉Windows、Linux、OS X、Android、iOS、WP8等系统的开关机。

通过下面的方式来联系我们:

电邮:138762189@qq.com

联系QQ:点击这里给我发消息

官方站:www.tadke.com

※ ※ 联系请加我的企鹅号 ※※

※ ※技术支持请微信联系站长 ※※

Copyright © 2023 Tadke.com. 琼ICP备20000547号