如何在WordPress中创建自定义路由指向指定页面
在WordPress中实现特定模式URL的重定向
下面提供两种可靠的实现方式,按需选择:
方法一:使用WordPress内置重写规则(推荐)
这种方式更贴合WordPress运行机制,建议将代码放在子主题的functions.php或自定义插件中,避免主题更新丢失配置。
- 添加重写规则代码:
function custom_audio_rewrite_rule() { // 匹配所有以 /audio/ 开头、后面跟随任意字符的URL add_rewrite_rule( '^audio/(.+)/?$', 'wp-content/sounds/sound.php', // 直接重定向到目标文件 'top' // 优先执行该规则 ); } add_action('init', 'custom_audio_rewrite_rule');
如果需要把/audio/后面的内容作为参数传递给sound.php,可将第二行改为:
'wp-content/sounds/sound.php?audio_param=$1',
之后在sound.php里就能用$_GET['audio_param']获取该参数。
- 刷新重写规则:
登录WordPress后台,进入「设置」→「固定链接」,无需修改选项,直接点击「保存更改」即可激活新规则。
方法二:使用.htaccess文件直接重定向
适合不想修改PHP代码的场景,操作更直接:
找到WordPress根目录下的.htaccess文件(无则新建),在# BEGIN WordPress之前添加以下代码:
RewriteEngine On # 临时重定向(302),如需永久重定向改为 R=301 RewriteRule ^audio/(.+)$ /wp-content/sounds/sound.php [L,R=302]
L表示执行完该规则后停止后续规则解析R=302是临时重定向,若确定重定向长期有效,可改为R=301(永久重定向,利于SEO)
注意事项
- 确保
wp-content/sounds/sound.php文件存在且权限设置正确(一般设为644) - 使用方法一时,WordPress固定链接不能是「朴素」模式(即
?p=ID格式),需选择其他模式(如「文章名」)
内容的提问来源于stack exchange,提问作者yaradan
相关产品推荐
相关产品推荐

