我有一个接受查询字符串参数的 Wordpress 页面:
http://x.com/page-name/?parameter=value
这很好用。该页面正确获取了 $_GET['parameter'] 的值。
我想做的是将其作为普通 URL 输入成为可能:
http://x.com/page-name/value
我需要能够重写 URL,以便用户输入 URL 2,而 Wordpress 获得 URL 1。我使用的是 Apache,并且更愿意使用 mod_rewrite 和 .htaccess 来完成此操作。有什么建议吗?
最佳答案
您可以在 WP 中使用主题的 functions.php 执行此操作:
add_action( 'init', 'ss_permalinks' );
function ss_permalinks() {
add_rewrite_rule(
'page/remove/([^/]+)/?',
'index.php?pagename=page&service=$matches[1]',
'top'
);
}
add_filter( 'query_vars', 'ss_query_vars' );
function ss_query_vars( $query_vars ) {
$query_vars[] = 'removeid';
return $query_vars;
}
实现后重新保存永久链接设置一次。 page
是当用户访问此 URL (domain.com/page/remove/432
) 时要指向的页面的 slug,并且 $matches[1 ]
应该是 URL 中 remove/
之后的数字。此数字可通过稍后指定的变量访问,$query_vars[] = 'removeid';
/如果指定,目标页面模板上的 $removeid 将是 URL 中的数字。
https://stackoverflow.com/questions/4630720/
相关文章:
.net - ToString() 和调试器的字符串可视化工具
java - 为什么当我在另一台计算机上加载我的工作区时 Eclipse 显示错误?
c# - 在 JSON.NET 中使用 LINQ 从字典创建 JProperty
r - 如何使用 RODBC 或 RCurl 从 R 中受密码保护的 Sharepoint 2007
unicode - 无法使用自定义操作将 MSI 安装到用户名中包含非 ascii 字符的非管理员
asp.net - "Invalid use of response filter"压缩来自 IHt