如何通过.htaccess修改WordPress URL?自定义友好URL配置咨询
把WordPress带参数URL改成友好路径的操作步骤
1. 修改.htaccess文件,添加重写规则
在你现有的.htaccess代码中插入两段重写规则:一段负责将友好URL解析为原参数格式,另一段用于让旧的带参数URL自动跳转到新友好URL(可选,优化SEO和用户体验)。
修改后的完整.htaccess代码如下:
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / # 将友好URL解析为原参数格式 RewriteRule ^([^-]+)-vs-([^/]+)$ /?name1=$1&name2=$2 [L,QSA] # 将旧带参数URL永久跳转到新友好URL(可选) RewriteCond %{QUERY_STRING} ^name1=([^&]+)&name2=([^&]+)$ RewriteRule ^$ /%1-vs-%2? [R=301,L] RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
- 第一段规则:匹配
xxx-vs-xxx格式的URL,将前后两个xxx分别映射到name1和name2参数;QSA保留额外查询参数,L表示匹配后停止执行后续规则。 - 第二段规则:若用户访问旧的带参数URL,会自动301永久跳转到新友好URL,帮助搜索引擎更新收录。
2. 注册自定义查询变量(可选但推荐)
为避免WordPress过滤name1和name2参数,在主题的functions.php文件末尾添加以下代码,让系统安全识别这两个变量:
function register_custom_query_vars($vars) { $vars[] = 'name1'; $vars[] = 'name2'; return $vars; } add_filter('query_vars', 'register_custom_query_vars');
之后在模板文件中,可通过get_query_var('name1')和get_query_var('name2')获取参数值,比直接用$_GET更符合WordPress规范。
3. 刷新固定链接设置
进入WordPress后台 → 设置 → 固定链接,无需修改现有设置,直接点击「保存更改」按钮。这一步会让WordPress刷新重写规则,确保新添加的.htaccess规则生效。
完成以上操作后,你就能通过https://css-tricks.tech/acumen-capital-vs-aasmaa-securities访问原页面,旧的带参数URL也会自动跳转到新路径(若添加了第二段规则)。
内容的提问来源于stack exchange,提问作者Rakesh Kumar
相关产品推荐
相关产品推荐

