WordPress

了解 KapsuleHost 上的 .htaccess

Kapsule serves every website with a high performance web server that does not read .htaccess, so rules you add to that file have no effect: this guide explains what that means for a WordPress site…

在 KapsuleHost 上理解 .htaccess

Kapsule 使用一个高性能的网络服务器来服务每个网站,该服务器不读取 .htaccess,因此你添加到该文件中的规则没有任何效果。本指南说明了这对 WordPress 网站的影响,并展示了 KPanel 中用来替代这些功能的设置。

如果你从共享的 cPanel 主机迁移过来,.htaccess 可能是你放置重定向、HTTPS 强制、自定义错误页面和机器人阻止的地方。所有这些功能在 Kapsule 上仍然有效。它们只是在 KPanel 中进行设置,而不是在文本文件中,并且由于它们在服务器级别应用,所以速度更快,不会因为打字错误而破坏你的网站。

为什么 .htaccess 在这里不起作用

.htaccess 是 Apache 网络服务器的每个目录配置文件。Apache 在每个请求上都重新读取它,这使其方便易用,但同时也使其速度较慢。

Kapsule 不运行 Apache。你的网站由一个事件驱动的网络服务器提供,该服务器在启动时只加载一次配置,这是这里的网站在高负载下响应速度更快的一个重要原因。该服务器没有等效的每个目录覆盖文件,所以它从不打开 .htaccess

在 Kapsule 网站上添加规则到 .htaccess 会以静默方式失败。没有错误,没有警告,文件保持你留下的位置。这些规则永远不会运行。如果你正在按照某个 WordPress 教程说"将其添加到你的 .htaccess",请改为在下表中找到 KPanel 的等效项。

好消息是与通常的 .htaccess 恐怖故事相反的:文件中的语法错误在这里无法让你的网站瘫痪,因为没有任何东西解析它。

没有 .htaccess 仍然有效的内容

固定链接。 WordPress 网站在 Apache 上需要 .htaccess 的最常见原因是漂亮的固定链接。在 Kapsule 上,重写内置在你网站的服务器配置中,所以 /2026/07/my-post/ 通过 WordPress 解析,完全不需要 .htaccess 块。如果固定链接返回 404,原因是别的:请参阅 修复 WordPress 固定链接问题

WordPress 写入文件。 WordPress 和某些插件仍然会向 .htaccess 中写入 # BEGIN/# END 块,因为它们假设是 Apache。这是无害的。该文件是真实的,可写的,你会在文件管理器中看到它。它只是没有被读取。

安全插件报告"已应用强化"。 声称通过编辑 .htaccess 来加强 xmlrpc.phpwp-config.php 的插件在此平台上实际上并未提供任何保护。请使用网站自己的安全标签页,它在服务器级别应用等效的规则。

KPanel 中的常见 .htaccess 规则等效项

所有这些都位于网站本身上:网站,然后是你的网站,然后是显示的标签页。

你在 .htaccess 中编写的内容它在 KPanel 中的位置
RewriteCond %{HTTPS} off 强制 HTTPS设置,然后在行为下的强制 HTTPS
Redirect 301 /old /new高级,然后重定向
ErrorDocument 404 /404.html高级,然后错误页面
AuthType Basic 密码保护文件夹高级,然后密码保护
Require not ip 203.0.113.4 阻止一个地址WordPress,然后安全
RewriteCond %{HTTP_USER_AGENT} (BadBot) 阻止爬虫性能,然后爬虫
DirectoryIndex index.php index.html设置,然后在提供下的目录索引
mod_deflate / mod_expires 压缩和缓存已开启。压缩和缓存标头在服务器上设置

其中两个比 .htaccess 版本做得更多。重定向支持精确路径、尾部斜杠前缀和通配符,如 /blog/*,KPanel 在你保存后验证重定向是否实时工作。错误页面使用其真实状态代码提供,所以自定义 404 页面对搜索引擎仍然是真实的 404,而不是带有道歉的 200。

KPanel 中网站的重定向标签页

查找和阅读文件

你可能仍想查看 .htaccess,通常是为了查看插件写入了什么或在 KPanel 中重新创建规则前复制出规则。

从 WordPress 标签页

  1. 登录 KPanel 并在左侧边栏中点击网站
  2. 点击你想要的网站。
  3. 打开 WordPress 标签页,然后打开 wp-config 部分。
  4. 滚动到 .htaccess 面板。内容以只读方式显示,如果需要更改,有编辑按钮。

从文件管理器

  1. 打开网站,然后文件,然后文件管理器
  2. 在工具栏中点击显示隐藏文件。以点开头的文件默认隐藏,所以在你这样做之前 .htaccess 不会显示。
  3. 点击 .htaccess 在内置编辑器中打开它。

该文件位于你网站的根目录,与 wp-config.phpwp-content 相同。有关编辑器及其权限控制的完整详情,请参阅 使用文件管理器

在编辑网站根目录中的任何内容之前进行备份,即使是未被读取的文件。成本为零,这意味着只需一次点击就可以恢复。请参阅 进行备份

默认的 WordPress 块

作参考,这是 WordPress 为自己编写的块。在 Apache 主机上,它驱动固定链接。在 Kapsule 上,它是无效的,删除它不会破坏任何东西:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

如果你以后可能会将网站移动到 Apache 主机,请将其留在原处。下次保存固定链接设置时,WordPress 将重新编写它。

如果你正在迁移规则

当你从 cPanel 上移动网站时,在取消旧主机之前打开旧的 .htaccess 并逐行处理它:

  1. 重定向。高级中重新创建每个 RedirectRewriteRule,然后重定向。每个规则一行。对于永久移动选择 301,如果更改可能反向选择 302。
  2. HTTPS 强制。 删除它。改为在网站的设置中打开强制 HTTPS
  3. IP 阻止。WordPress 中重新创建,然后安全,在 IP 阻止面板中。
  4. 缓存和压缩标头。 删除它们。它们由你处理,来自旧主机的过时 mod_expires 规则是令人困惑的缓存行为的常见根源。
  5. 任何插件写入的内容。 忽略它。在新网站上重新安装插件,让它做自己的事情。

你的迁移保留了文件本身,所以在你处理列表时没有任何内容丢失。完整迁移演练:从 cPanel 迁移网站

故障排除

"我添加了一个重定向到 .htaccess,什么都没有发生。" 符合预期。在高级中添加它,然后重定向。那里的状态列告诉你重定向是否被验证为实时。

"插件说我的网站已强化,但扫描仪不同意。" 该插件写了 .htaccess 规则,这些规则未被读取。检查网站的安全标签页以了解真正应用的保护。

"我的旧主机的 .htaccess 有我不理解的规则。" 不要盲目复制它们。用附加的文件打开一个工单,我们会告诉你哪些有 Kapsule 等效项,哪些只是在补偿共享 Apache 主机。

"固定链接已损坏。" 这在这里不是 .htaccess 问题。转到 修复 WordPress 固定链接问题,或从网站的WordPress 标签页刷新重写规则,然后快速操作,然后刷新重写

仍需帮助?

请发送邮件至 support@kapsulehost.com 或在 KPanel 中打开聊天。

打开 KPanel
WordPress .htaccess File | Kapsule Help