.htaccess
是 WordPress 的一个重要核心文件,通常用于添加、修改和覆盖服务器级别的配置、安全性和性能参数。
简单来说,它可以让网站地址更美观、自动将访问者重定向到新的地址,并通过阻止未经授权的访问来提高网站的安全性。
在大多数情况下,可以通过更新或更改 WordPress .htaccess
文件中的规则,来解决服务器层面的运行问题。
然而,许多网站所有者并不了解 .htaccess
文件的真正潜力,因此错过了优化服务器(以及网站)的机会。
为了帮助 WordPress 用户,本篇文章会详细介绍如何找到并编辑 WordPress .htaccess
文件,以及各种规则的应用方法。
注意:下面提及的规则和配置适用于 Apache 2.4。

什么是 WordPress .htaccess
文件?
.htaccess
文件可以看作是网站的控制中心,它包含了一系列规则,用于管理 WordPress 网站与服务器之间的所有通信。
可以在 WordPress 安装的主目录中找到 .htaccess
文件。WordPress 默认使用该文件来处理诸如重定向管理和固定链接结构设置等任务。
具体来说,.htaccess
文件(也称为服务器配置文件)在 WordPress 中可以用于以下任务:
- 控制网站页面的访问权限
- 提高网站的安全性和性能
此外,可以将 .htaccess
文件放置在网站的任何文件夹中,来改变该文件夹的行为。
️ 重要提醒!
.htaccess
文件的修改非常敏感,哪怕是一个符号(如 .
)放错位置,都可能导致网站崩溃。所以,在对 .htaccess
文件进行任何更改之前,务必 备份 到一个安全的存储位置。
如何在 WordPress 中使用 .htaccess 并发挥其优势?
要在 WordPress 中使用 .htaccess
文件,可以按照下面步骤进行:
1. 查找 .htaccess
文件
.htaccess
文件位于 WordPress 网站的根目录。可以用 文件管理器 或 FTP 客户端 进入网站的主文件夹查找它。要注意的是,.htaccess
文件可能默认是隐藏的,如果看不到它,需要调整文件管理器的设置,使其显示隐藏文件。
2. 调整文件管理器设置
如果网站的 .htaccess
文件不可见,可能需要修改文件管理器的设置,使其显示隐藏文件。这一步能确保可以顺利访问和修改 .htaccess
文件。
3. 创建备份
在对 .htaccess
文件进行任何更改之前,务必先备份原始文件。这样,即使在修改过程中出现问题,也可以随时恢复到原始状态,避免影响网站正常运行。
.htaccess 文件的作用及优势
可以通过 .htaccess
文件来优化和保护 WordPress 网站,下面是一些常见用途及其优势:
功能 | 描述 |
---|---|
自定义固定链接结构 | 创建对用户和搜索引擎友好的 URL,提升 SEO 和可访问性。 |
重定向(Redirects) | 使用 301 重定向 进行 URL 变更或内容迁移,确保良好的用户体验,并保持 SEO 排名。 |
安全增强 | 通过添加规则,限制对敏感区域、目录和文件的访问,防止未经授权的访问。 |
防止盗链 | 防止其他网站直接调用你的资源,保护带宽,确保内容仅通过你的网站访问。 |
缓存和压缩 | 通过 .htaccess 启用浏览器缓存和Gzip 压缩,加快页面加载速度,改善用户体验。 |
自定义错误页面 | 创建自定义错误页面(如 404),让用户在遇到错误时获得更好的体验。 |
如何在 WordPress 中找到 .htaccess 文件?
WordPress 社区推荐用 NGINX 和 Apache 作为网站服务器。如果 WordPress 网站运行在 NGINX 服务器上,不会看到 .htaccess
文件,因为 NGINX 不用该文件。
但如果 WordPress 网站放在 Apache Web 服务器 上,可以在网站的 根目录(public_html
或 www
文件夹)中找到 .htaccess
文件。
如何访问 .htaccess 文件?
你可以用 FTP 客户端(如 FileZilla)连接服务器,并进入 WordPress 网站的根目录来访问 .htaccess
文件。例如,某个网站的根目录路径可能是:/applications/sqzucfcyqb/public_html

找不到 .htaccess 文件怎么办?
如果没有看到 .htaccess
文件,可能是因为它是隐藏文件(没有文件扩展名),通常出于安全考虑,文件管理器会默认隐藏它。
要访问 .htaccess
文件,要在 FTP 客户端(如 FileZilla)的服务器选项中,勾选 “Force Showing Hidden Files”(强制显示隐藏文件),这样 .htaccess
文件就会显示出来。

WordPress 默认 .htaccess 文件
默认的 .htaccess
文件位于 WordPress 安装的 根目录,通常是隐藏的,但可以通过 FTP 客户端(如 FileZilla)访问。
找不到 .htaccess 文件怎么办?
如果在根目录中仍然找不到 .htaccess
文件,你可以手动创建一个新的 .htaccess
文件:
- 用 记事本(或其他文本编辑器)创建一个空白文件。
- 将文件命名为 “.htaccess”(确保文件名以
.
开头)。 - 在保存时,选择 “文件类型” 为 “所有文件(All Files)”,然后保存到桌面。

- 通过 FTP 客户端(如 FileZilla)将
.htaccess
文件上传到 WordPress 安装的 根目录。
️ 注意
文件名必须是 “.htaccess”,而不是 “htaccess”(必须带有 .
号)。
WordPress 默认 .htaccess 文件内容
WordPress 的默认 .htaccess
文件内容如下:
# 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
这个 .htaccess
文件的主要作用是管理 WordPress 固定链接,确保所有的 URL 结构正确运行。
如何创建 .htaccess 文件?
可以按照以下步骤,在 WordPress 中创建 .htaccess
文件:
- 进入 WordPress 仪表盘。
- 点击 设置(Settings) > 固定链接(Permalinks)。
- 点击 保存更改(Save Changes) 按钮。

完成以上操作后,WordPress 会在根目录下自动生成默认的 .htaccess
文件。
默认的 .htaccess
文件仅用于管理 WordPress 固定链接。但你可以手动修改该文件,添加额外的规则,以控制 Apache Web 服务器 如何处理网站的相关请求和操作。
如何在 WordPress 中编辑 .htaccess 文件?
要编辑 WordPress 的 .htaccess
文件,可以用 文件管理器(由 WordPress 主机提供)或 FTP 客户端(如 FileZilla)。
编辑 .htaccess 文件的方法
- 使用 FTP 客户端(如 FileZilla)连接服务器。
- 进入 WordPress 根目录(通常是
public_html
文件夹),找到.htaccess
文件。

- 右键点击
.htaccess
文件,选择 “查看/编辑(View/Edit)”,用自己喜欢的文本编辑器打开它。

- 进行所需的修改,然后保存文件。
另一种编辑方法
也可以先将 .htaccess
文件下载到本地,在电脑上修改后,再通过 FTP 客户端 或 文件管理器 将修改后的文件上传,替换服务器上的 .htaccess
文件。
如何使用 cPanel 编辑 WordPress .htaccess 文件?
如果不想用 FTP 方法,可以选择 cPanel 来编辑 WordPress .htaccess
文件。下面是具体步骤:
访问控制面板(cPanel)
登录到你的主机账户,进入 控制面板(Control Panel)。
打开文件管理器(File Manager)
在控制面板中找到并打开 “文件管理器(File Manager)” 工具。
进入 public_html
目录
在左侧导航菜单中,点击 public_html
文件夹,这里是网站的主目录。

找到 WordPress 目录
在 public_html
目录下,找到并打开 WordPress 站点的文件夹(通常直接位于 public_html
内)。
查找 .htaccess 文件
在 WordPress 目录 内,你会看到 .htaccess
文件。右键点击 .htaccess
文件,选择 编辑(Edit)。
修改 .htaccess 文件
选择 编辑(Edit) 选项后,浏览器会打开一个文本编辑器。
添加代码
在 .htaccess
文件中,将需要添加的代码放在 # BEGIN WordPress
之前,然后保存修改。
按照上面步骤,就可以成功使用 cPanel 来修改 WordPress .htaccess 文件,从而优化网站的功能和安全性。
如何使用插件编辑 WordPress .htaccess 文件?
另一种编辑 .htaccess
文件的方法是使用 WordPress 插件,如 Htaccess File Editor。这些插件允许你直接在 WordPress 后台 编辑 .htaccess
文件,而无需使用 FTP 或 cPanel。
用 Htaccess File Editor 插件编辑 .htaccess 文件的方法
- 登录 WordPress 管理后台。
- 在插件库搜索“Htaccess File Editor”插件。

- 安装并激活插件。
- 进入“设置(Settings)” > “WP Htaccess Editor”。
- 在
.htaccess
文件的# BEGIN WordPress
之前插入一行新代码(可用于添加规则或配置)。
完成以上操作后,就可以在 WordPress 后台直接编辑 .htaccess
文件,添加所需的代码片段,定义网站的规则或配置。
WordPress .htaccess 重定向
可以用 .htaccess
文件来管理 WordPress 网站的重定向。以下是一些常见的 .htaccess
规则,可用于设置和控制网站的重定向。
301(永久)重定向
301 重定向 告诉搜索引擎某个 URL 已永久移动到新地址,不仅限于 URL,也可以用于重定向文件夹、页面或整个网站。
示例:将 oldpage.html
重定向到 newpage.html
apacheCopyEditRedirect 301 /oldpage.html https://www.yourwebsite.com/newpage.html
302(临时)重定向
302 重定向 表示页面临时移动,不影响 SEO 排名变动。
示例:
apacheCopyEditRedirect 302 /oldpage.html http://www.yourwebsite.com/newpage.html
强制 URL 使用 www
下面 .htaccess
规则会强制所有访问 example.com
的用户跳转到 www.example.com
。
apacheCopyEditRewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]
强制 URL 使用非 www
下面规则会强制所有访问 www.example.com
的用户跳转到 example.com
。
apacheCopyEditRewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]
强制 HTTPS
下面的规则会强制所有访问者使用 HTTPS,而不是 HTTP。
apacheCopyEditRewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
强制 HTTP
如果想强制所有访问者使用 HTTP 而不是 HTTPS,可以使用以下规则:
apacheCopyEditRewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
将根域名重定向到子目录
下面的规则会将主域名 example.com
重定向到指定的子目录。
apacheCopyEditRewriteCond %{HTTP_HOST} ^example.com$
RewriteCond %{REQUEST_URI} !^/sub-directory-name/
RewriteRule (.*) /subdir/$1
重定向一个 URL
如果有两个域名指向同一网站,可以用下面规则将一个域名重定向到另一个域名:
apacheCopyEditRedirect 301 / http://www.mynewwebsite.com/
重定向单个文章或页面
如果想重定向某个特定的文章或页面,可以添加以下代码:
apacheCopyEditRedirect 301 /old-url-slug https://yourdomain.com/new-url-slug
示例:
如果想将 https://www.cloudways.com/blog/core-web-vitals/
重定向到 https://www.cloudways.com/blog/core-web-vitals-seo/
,可以使用以下代码:
apacheCopyEditRedirect 301 /core-web-vitals/ https://www.cloudways.com/blog/core-web-vitals-seo/
重定向整个网站到新域名
如果你想将整个网站重定向到新域名,可以使用以下规则:
apacheCopyEditRewriteEngine on
RewriteCond %{HTTP_HOST} ^olddummydomain.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.olddummydomain.com [NC]
RewriteRule ^(.*)$ https://newdummydomain.com/$1 [L,R=301,NC]
示例:
如果旧网站是 www.oldwebsite.com/about
,应用此规则后,所有访问 www.oldwebsite.com/about
的用户都会被重定向到 www.newwebsite.com/about
。
WordPress .htaccess 安全提示
由于 WordPress 是开源平台,容易受到安全漏洞的影响。因此,用户必须采取主动措施来保护网站,例如选择可靠的服务器提供商,防止恶意流量和 DDoS 攻击。
此外,还可以通过 .htaccess 文件来保护 WordPress 目录和文件。下面是一些 .htaccess
安全规则,可帮助提高 WordPress 网站的安全性。
保护 .htaccess 文件
.htaccess
文件可以控制整个网站,因此需要防止未经授权的访问。可以用下面规则:
apacheCopyEdit<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>
限制 WordPress 后台(wp-admin)访问
如果黑客获得 WordPress 后台访问权限,他们可以完全控制网站。因此,管理员可以限制 特定 IP 地址 才能访问后台。
- 创建一个新的
.htaccess
文件,并粘贴以下代码:
apacheCopyEdit# 限制 wp-admin 访问权限(只允许指定 IP)
<Limit GET POST PUT>
order deny,allow
deny from all
allow from xx.xx.xx.xx
# 允许特定 IP 地址(替换 xx.xx.xx.xx)
</Limit>
- 将此文件上传到
/wp-admin/
目录。 - 如果有多个管理员,可以添加多个 IP 地址:
apacheCopyEditallow from 34.56.78.90 98.76.54.32 19.82.73.64
保护重要文件(如 wp-config.php
)
wp-config.php
文件存储了 WordPress 数据库凭据等敏感信息,需要禁止未经授权的访问。
apacheCopyEdit<files wp-config.php>
order allow,deny
deny from all
</files>
保护 wp-content
目录
wp-content
目录包含 主题、插件、媒体文件,是黑客的主要攻击目标。可以通过 .htaccess
限制访问:
- 在
wp-content
目录内创建一个新的.htaccess
文件。 - 添加以下代码,仅允许访问特定文件类型(XML、CSS、JPG、PNG、GIF、JS):
apacheCopyEditOrder deny,allow
Deny from all
<Files ~ ".(xml|css|jpe?g|png|gif|js)$">
Allow from all
</Files>
限制对 WordPress 内部文件的访问
有些 WordPress 系统文件不应该被普通用户访问。可以使用 .htaccess
限制:
apacheCopyEdit<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>
禁用 PHP 执行
某些目录(如 /wp-includes/
和 /wp-content/uploads/
)默认可写,这可能被黑客利用。可以禁止 PHP 执行,防止恶意代码运行。
- 在你要禁用 PHP 执行的目录(例如
uploads
目录)中创建.htaccess
文件。 - 添加以下代码:
apacheCopyEdit<Files *.php>
deny from all
</Files>
限制 WordPress 插件和主题的文件访问
为了防止黑客直接修改插件和主题的 PHP 文件,可以使用以下 .htaccess
规则:
apacheCopyEditRewriteCond %{REQUEST_URI} !^/wp-content/plugins/file/to/exclude\.php
RewriteCond %{REQUEST_URI} !^/wp-content/plugins/directory/to/exclude/
RewriteRule wp-content/plugins/(.*\.php)$ - [R=404,L]
RewriteCond %{REQUEST_URI} !^/wp-content/themes/file/to/exclude\.php
RewriteCond %{REQUEST_URI} !^/wp-content/themes/directory/to/exclude/
RewriteRule wp-content/themes/(.*\.php)$ - [R=404,L]
防止脚本注入攻击
脚本注入(Script Injection)是一种黑客攻击技术,它允许攻击者向网站代码中注入恶意代码,用于窃取数据或劫持网站。
你可以使用 .htaccess
规则来防止脚本注入:
apacheCopyEditOptions +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
阻止特定 IP 地址访问网站
如果有人恶意攻击网站(如垃圾邮件或黑客攻击),可以封锁该 IP 地址,拒绝其访问。
- 在
.htaccess
文件中添加以下代码:
apacheCopyEdit<Limit GET POST>
order allow,deny
deny from 456.78.9
allow from all
</Limit>
- 当被封 IP 尝试访问网站时,他们会看到403 Forbidden 错误。

限制特定文件的访问
如果你想阻止用户访问某个特定文件(如 your-file-name.txt
),可以使用以下 .htaccess
规则:
apacheCopyEdit<files your-file-name.txt>
order allow,deny
deny from all
</files>
禁用目录浏览
默认情况下,某些服务器允许直接浏览网站目录,这可能会泄露敏感文件,增加安全风险。
你可以通过 .htaccess
禁止目录列表,增强安全性:
apacheCopyEdit# 禁用目录浏览
Options -Indexes
通过使用 .htaccess
文件,可以有效地提高 WordPress 网站的安全性,防止黑客攻击、恶意访问和数据泄露。建议定期备份 .htaccess
文件,并在修改前仔细测试,以确保网站正常运行。
总结
关于服务器配置,WordPress 的 .htaccess 文件是服务器上最关键的文件之一。它通常用于配置服务器并保护网站的各个区域。
© 版权声明 文章版权归作者所有,未经允许请勿转载。 相关文章暂无评论... |
---|