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.php 或 wp-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。

查找和阅读文件
你可能仍想查看 .htaccess,通常是为了查看插件写入了什么或在 KPanel 中重新创建规则前复制出规则。
从 WordPress 标签页
- 登录 KPanel 并在左侧边栏中点击网站。
- 点击你想要的网站。
- 打开 WordPress 标签页,然后打开 wp-config 部分。
- 滚动到
.htaccess面板。内容以只读方式显示,如果需要更改,有编辑按钮。
从文件管理器
- 打开网站,然后文件,然后文件管理器。
- 在工具栏中点击显示隐藏文件。以点开头的文件默认隐藏,所以在你这样做之前
.htaccess不会显示。 - 点击
.htaccess在内置编辑器中打开它。
该文件位于你网站的根目录,与 wp-config.php 和 wp-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 并逐行处理它:
- 重定向。 在高级中重新创建每个
Redirect或RewriteRule,然后重定向。每个规则一行。对于永久移动选择 301,如果更改可能反向选择 302。 - HTTPS 强制。 删除它。改为在网站的设置中打开强制 HTTPS。
- IP 阻止。 在WordPress 中重新创建,然后安全,在 IP 阻止面板中。
- 缓存和压缩标头。 删除它们。它们由你处理,来自旧主机的过时
mod_expires规则是令人困惑的缓存行为的常见根源。 - 任何插件写入的内容。 忽略它。在新网站上重新安装插件,让它做自己的事情。
你的迁移保留了文件本身,所以在你处理列表时没有任何内容丢失。完整迁移演练:从 cPanel 迁移网站。
故障排除
"我添加了一个重定向到 .htaccess,什么都没有发生。" 符合预期。在高级中添加它,然后重定向。那里的状态列告诉你重定向是否被验证为实时。
"插件说我的网站已强化,但扫描仪不同意。" 该插件写了 .htaccess 规则,这些规则未被读取。检查网站的安全标签页以了解真正应用的保护。
"我的旧主机的 .htaccess 有我不理解的规则。" 不要盲目复制它们。用附加的文件打开一个工单,我们会告诉你哪些有 Kapsule 等效项,哪些只是在补偿共享 Apache 主机。
"固定链接已损坏。" 这在这里不是 .htaccess 问题。转到 修复 WordPress 固定链接问题,或从网站的WordPress 标签页刷新重写规则,然后快速操作,然后刷新重写。