WordPress固定链接设置方法是通过后台“设置”→“固定链接”页面选择默认结构或输入自定义标签组合,保存后让文章、页面和分类等内容的URL按指定格式生成。
进入固定链接设置页面
登录WordPress后台,在左侧菜单中找到“设置”,点击后选择“固定链接”,该页面会显示多个可选结构,下方还有一个“自定义结构”输入框,选择任意选项或在自定义结构中填写标签后,点击“保存更改”即可生效。
保存后WordPress会尝试自动更新根目录下的.htaccess文件,如果服务器没有写入权限,需要在页面底部手动复制规则代码并保存到.htaccess文件中。
固定链接默认选项说明
WordPress默认提供以下几种固定链接结构:

| 选项 | 结构形式 | 文章URL示例 |
|---|---|---|
| 朴素 | ?p=123 | https://example.com/?p=123 |
| 日期和名称 | /%year%/%monthnum%/%day%/%postname%/ | https://example.com/2025/03/25/sample-post/ |
| 月份和名称 | /%year%/%monthnum%/%postname%/ | https://example.com/2025/03/sample-post/ |
| 数字 | /archives/123 | https://example.com/archives/123 |
| 文章名 | /%postname%/ | https://example.com/sample-post/ |
朴素结构
朴素结构使用查询参数?p=123来定位文章,兼容性最好,几乎不会出现404问题,但URL没有可读性,搜索引擎优化效果较差,也不便于用户记忆和分享。
日期和名称结构
日期和名称结构在URL中同时包含年、月、日和文章别名,它适合按时间发布内容的网站,例如新闻站点或媒体博客,URL长度较长,但能清楚显示内容发布时间。
月份和名称结构
月份和名称结构去掉了日期中的“日”,只保留年和月,相比日期和名称结构更短一些,同时保留了时间信息,适合更新频率较高但不需要精确到天的内容站点。
数字结构
数字结构使用文章ID作为URL的一部分,例如/archives/123,它比朴素结构更整洁,比文章名结构更节省数据库查询,但当文章数量巨大时,纯数字URL对用户不够直观。
文章名结构
文章名结构直接使用文章别名生成URL,例如/sample-post/,这是目前使用最广泛的固定链接形式之一,URL简洁、语义明确,便于SEO和用户分享,缺点是当文章数量极大时,可能增加数据库查询压力,不过多数普通站点可以忽略这个影响。
自定义固定链接结构
在“固定链接”页面选择“自定义结构”,可以按照需要组合标签,常用标签如下:
| 含义 | |
|---|---|
%year% | 文章发布年份,如2025 |
%monthnum% | 文章发布月份,如03 |
%day% | 文章发布日期,如25 |
%hour% | 文章发布时间小时 |
%minute% | 文章发布时间分钟 |
%second% | 文章发布时间秒 |
%post_id% | 文章ID |
%postname% | 文章别名,可手动修改 |
%category% | 文章分类别名 |
%author% | 作者别名 |
%post_type% | 文章类型名称 |
例如将自定义结构设置为:
/%category%/%postname%/
生成的文章URL会变成:
https://example.com/tutorial/wordpress-permalink-settings/
如果设置为:
/%year%/%monthnum%/%postname%.html
生成的文章URL会带有.html后缀:
https://example.com/2025/03/wordpress-permalink-settings.html
自定义结构中可以加入静态前缀,
/articles/%postname%/
生成的文章URL为:
https://example.com/articles/wordpress-permalink-settings/
需要注意,某些主机环境对URL中带的点号和大小写较为敏感,建议使用小写字母和连字符。
固定链接结构选择建议
较少的站点,可以直接使用/%postname%/结构,URL简洁,文章别名可以单独优化。
文章数量多且按时间归档需求强的站点,可以使用/%year%/%monthnum%/%postname%/结构,既保留时间信息,又避免纯文章名带来的潜在性能问题。
企业产品或帮助文档类站点,可以使用/%category%/%postname%/结构,在URL中体现内容分类。
招聘、房产等以ID管理内容的站点,可以使用/%post_id%结构,减少别名维护成本。
保存固定链接后的伪静态规则配置
Apache服务器
保存固定链接后,WordPress会尝试在网站根目录自动生成.htaccess规则,如果自动写入失败,页面会显示一段规则代码,需要手动创建或编辑.htaccess文件,标准Apache规则如下:
#BEGINWordPress
<IfModulemod_rewrite.c>
RewriteEngineOn
RewriteBase/
RewriteRule^index\.php$-[L]
RewriteCond%{REQUEST_FILENAME}!-f
RewriteCond%{REQUEST_FILENAME}!-d
RewriteRule./index.php[L]
</IfModule>
#ENDWordPress将这段代码复制到网站根目录的.htaccess文件中,保存后重新访问文章页面。
Nginx服务器
Nginx不支持.htaccess文件,需要在网站配置文件中手动添加伪静态规则,常见配置如下:
location/{
try_files$uri$uri//index.php?$args;
}修改Nginx配置文件后需要执行以下命令测试并重载配置:
nginx-t systemctlreloadnginx
IIS服务器
IIS服务器需要安装URL Rewrite模块,并导入WordPress提供的web.config规则,常见规则如下:
<?xmlversion="1.0"encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rulename="WordPress"patternSyntax="Wildcard">
<matchurl="*"/>
<conditions>
<addinput="{REQUEST_FILENAME}"matchType="IsFile"negate="true"/>
<addinput="{REQUEST_FILENAME}"matchType="IsDirectory"negate="true"/>
</conditions>
<actiontype="Rewrite"url="index.php"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>设置固定链接后验证
保存固定链接后,打开网站的任意一篇文章,查看浏览器地址栏中的URL是否按照所选结构显示,然后点击文章内页中的分类、标签链接,确认分类和标签页面不会出现404错误。
如果文章页或分类页打开后显示404,首先检查服务器是否开启伪静态功能,其次检查.htaccess、Nginx配置或web.config文件是否写入正确,还可以进入后台“设置”→“固定链接”重新保存一次,强制WordPress刷新重写规则。
修改文章别名优化URL
文章别名会直接出现在固定链接中,如果文章标题包含中文,WordPress会自动将中文别名存储为URL编码形式,导致URL显得冗长,可以在编辑文章时,在右侧“文章”面板中找到“URL”或“固定链接”区域,点击修改别名,将其设置为英文、拼音或简短短语。 为“WordPress固定链接设置方法”,默认别名可能是:
wordpress%e5%9b%ba%e5%ae%9a%e9%93%be%e6%8e%a5%e8%ae%be%e7%bd%ae%e6%96%b9%e6%b3%95
手动修改别名为:
wordpress-permalink-settings
最终文章URL会变为:
https://example.com/wordpress-permalink-settings/
修改别名时建议使用小写英文字母、数字和连字符,避免使用空格、下划线或特殊符号,不同文章不要使用重复别名,否则WordPress会自动在别名后追加数字进行区分。
分类和标签固定链接
分类和标签的基础固定链接可以在“设置”→“固定链接”页面下方找到“分类前缀”和“标签前缀”输入框,默认情况下,分类URL前缀为category,标签URL前缀为tag。
例如分类名为“教程”,默认访问地址为:
https://example.com/category/tutorial/
可以将分类前缀修改为topics,则分类URL变为:
https://example.com/topics/tutorial/
标签前缀修改为keywords后,标签URL变为:
https://example.com/keywords/wordpress/
如果希望移除分类前缀,让分类直接显示在根目录下,可以使用插件或者手动添加函数,不推荐直接留空,因为可能与页面URL产生冲突。
更改固定链接后的旧链接处理
更换固定链接结构后,旧URL会立即失效,搜索引擎收录的旧地址会变成404,用户通过旧链接访问也会失败,可以使用重定向插件解决这个问题。
常用的重定向插件包括Redirection和Rank Math SEO插件,安装并启用插件后,开启自动重定向功能,当文章别名或固定链接结构变化时,插件会自动创建301重定向规则。
手动处理旧链接时,可以在.htaccess文件中添加规则,将旧的日期结构重定向到新结构。
RedirectMatch301^/[0-9]{4}/[0-9]{2}/[0-9]{2}/(.*)$/$1Nginx中可以使用以下规则:
rewrite^/[0-9]{4}/[0-9]{2}/[0-9]{2}/(.*)$/$1permanent;重定向完成后,可以在Google Search Console中提交新的站点地图,加快搜索引擎重新抓取。
固定链接相关插件
Custom Permalinks
Custom Permalinks插件允许为每一篇文章、页面、分类单独设置固定链接,可以覆盖全站默认结构,适合需要单独优化重点页面URL的场景。
Permalink Manager Lite
Permalink Manager Lite可以批量修改固定链接结构,支持自定义文章类型和分类法,提供更详细的URL控制选项,当需要大规模调整站内URL时可以使用。
Redirection
Redirection主要用于重定向管理,但修改固定链接后必须配合它来减少404错误,它会记录404请求,便于发现失效链接并创建重定向。
固定链接设置中的常见问题
保存后文章页面404
多数情况下是服务器没有启用伪静态模块,Apache需要确认mod_rewrite模块已开启,Nginx需要确认配置文件中包含try_files规则,IIS需要确认安装了URL Rewrite模块。
固定链接页面提示“.htaccess不可写”
WordPress无法自动写入.htaccess文件时,页面会显示提示并给出规则代码,需要手动在网站根目录创建或编辑.htaccess文件,将代码复制进去,并将文件权限设置为644或666。
中文URL过长
如果不想逐个修改文章别名,可以在保存文章前先将标题中的中文改为拼音或英文别名,或者使用插件自动生成拼音别名,部分主机还支持通过wp-config.php定义define('WPLANG', '')但不会直接影响URL编码,主要需要从别名入手解决。
固定链接中某些标签不生效
自定义结构中的标签必须使用WordPress支持的标签名称,并且前面加上百分号,如果使用了%tag%这类无效标签,前台URL会显示为%tag%字样,检查标签拼写是否准确。
文章数量多导致文章名结构变慢
当文章数量达到数万篇以上时,使用纯/%postname%/结构可能让数据库查询变慢,可以改用包含数字或ID的结构,例如/%post_id%/%postname%/,既保留可读性,又减少数据库压力。
固定链接修改后后台无法访问
如果修改固定链接后后台出现重定向错误,可以通过FTP或服务器文件管理器进入网站根目录,将.htaccess文件临时重命名,然后在浏览器访问wp-login.php登录后台,重新保存默认固定链接,再检查服务器伪静态配置。