在WordPress中开启伪静态(官方称为 “固定链接”)非常简单,但必须同时完成“WP后台设置”和“服务器环境配置”这两步,否则会导致网站内页全部打不开(出现404错误)。
以下是保姆级的实操步骤,无论您使用的是国内常见的“宝塔面板”,还是传统的Apache/Nginx服务器,都能对号入座。
第一步:在 WordPress 后台设置 URL 结构(必做)
这是告诉WordPress“你希望URL长什么样”。
- 登录后台:进入您的 WordPress 管理后台。
- 找到菜单:在左侧菜单栏点击 设置 (Settings) -> 固定链接 (Permalinks)。
- 选择结构:您会看到几个选项,强烈建议选择以下两种之一(对SEO最友好):
- 文章名 (Post name):
http://您的域名/sample-post/(最简洁,适合大多数企业站和博客) - 自定义结构:
/%category%/%postname%/(URL会显示为域名/分类目录/文章名/,层级更清晰,适合内容较多的大型网站)
- 文章名 (Post name):
- 保存更改:拉到页面最底部,点击 “保存更改”。
注意:点击保存后,先不要急着去前台看。如果您直接去点击网站内页,大概率会报 404 Not Found(页面未找到) 错误。这是因为您的服务器还没有开启“URL重写”功能,请继续看第二步。

第二步:在服务器端配置“重写规则”(核心难点)
根据您网站所在的服务器环境,选择对应的操作方法:
场景 A:您使用的是“宝塔面板”(国内建站最常见,极简)
如果您或您的技术团队使用的是宝塔面板(BT Panel)来管理服务器,操作只需 10 秒钟:
- 登录宝塔面板,点击左侧的 “网站”。
- 找到您的WordPress网站,点击右侧的 “设置”。
- 在弹出的窗口左侧点击 “伪静态”。
- 在下拉菜单中直接选择
wordpress。 - 面板会自动填入一段代码,点击 “保存” 即可。完成!
场景 B:您使用的是 Nginx 环境(非宝塔面板,手动配置)
如果您是自己配置的 Nginx 服务器,需要找到该网站的 Nginx 配置文件(通常在 nginx/conf/vhost/ 目录下),在 server { ... } 块中的 location / { ... } 部分,加入以下经典代码:
location / {
try_files $uri $uri/ /index.php?$args;
}
# 确保PHP正常解析
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000; # 或您的php-fpm socket路径
fastcgi_index index.php;
include fastcgi_params;
}保存配置文件后,必须重启或重载 Nginx(命令:nginx -s reload)才能生效。
场景 C:您使用的是 Apache 环境(传统虚拟主机常见)
Apache 环境最简单,WordPress 通常会在您点击“保存更改”时,自动在网站根目录下生成或修改一个名为 .htaccess 的隐藏文件。
- 如果内页能正常打开:说明自动配置成功,无需任何操作。
- 如果内页报 404:说明
.htaccess文件没有写入权限。您需要手动在网站根目录创建.htaccess文件,并填入以下官方标准代码:
# BEGIN WordPress
<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前提条件:Apache 必须开启了 mod_rewrite 模块,且允许 AllowOverride All。
场景 D:您使用的是 Windows IIS 服务器
需要在网站根目录创建一个名为 web.config 的文件,并写入 IIS 的 URL Rewrite 规则(需确保 IIS 安装了 URL Rewrite 模块):
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="WordPress" patternSyntax="Wildcard">
<match url="*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>第三步:企业站 SEO 进阶优化(去除丑陋的 category 前缀)
默认情况下,WordPress 的分类目录 URL 会带有一个 category 单词,例如:www.您的域名.com/category/news/ (看起来不够专业)
如何去掉它?
- 回到 设置 -> 固定链接。
- 找到 “分类目录基础 (Category base)” 这一栏。
- 在里面输入一个半角句号
.(或者输入您想要的英文单词,如news)。 - 点击保存。此时您的分类URL就会变成干净的:
www.您的域名.com/news/。(注:如果输入.导致部分旧版本WP报错,可以安装免费插件 WP No Category Base 来完美解决。)
常见“翻车”问题与避坑指南
1. 中文 URL 乱码或 404 怎么办?
如果您在发布文章时,把“别名(Slug)”设置成了中文(如 域名/公司新闻/),在某些 Nginx 环境下可能会出现 404 或乱码。
- SEO 最佳实践:强烈建议所有 URL 别名使用“英文”或“拼音”(如
domain.com/company-news/)。搜索引擎对英文/拼音 URL 的识别度远高于中文 URL,且分享到微信/微博时,中文 URL 会变成一长串%E4%BD...的乱码,极不美观。
2. 设置后,网站样式全乱了(CSS/JS 丢失)?
这通常是因为伪静态规则写错了,把 .css 或 .js 等静态资源文件也当作文章去请求 index.php 了。
- 解决:检查 Nginx/Apache 规则,确保规则中排除了真实存在的文件(如 Apache 规则中的
RewriteCond %{REQUEST_FILENAME} !-f就是起这个作用的)。
3. 换域名或迁移服务器后内页全 404?
- 解决:迁移后,只需重新进入 WP 后台的“设置 -> 固定链接”页面,什么都不用改,直接点击一次“保存更改”,让 WordPress 重新刷新一次数据库中的重写规则即可。
总结建议
如果您不懂代码,强烈建议使用“宝塔面板”来部署 WordPress,它的“一键伪静态”功能可以帮您省去 99% 的服务器配置烦恼。配置完成后,随便点开网站的 3-5 个内页(产品详情、新闻详情),确认都能正常打开,且 URL 干净无 ?p=123 字样,您的伪静态就大功告成了!
返回列表