php - 使用 PHP 重定向并跳过特定参数
问题描述
由于我已经开始在我的网站中使用友好的 URL,我将每个页面重定向到新版本,前提是注册用户的个人资料中有“用户名”。
所以,我正在重定向:
https://tribbr.me/post.php?id=850
和:
header("Location:/".$if_username."/post/".$post_id."?".$_SERVER['QUERY_STRING']); exit();
保留所有 GET 参数....但问题是这个标头请求,显然$_SERVER['QUERY_STRING']
也将 post id 添加到 URL,并且在重定向时,这是最终 URL:
https://tribbr.me/TribeMasters/post/850?id=850
是否可以将id=850
参数跳过到 URL 重定向?因为它是一个重复的参数:post/850
并且id=850
是相同的。
谢谢你帮助我:)
解决方案
大卫沃尔什在这方面做了一篇很好的文章
https://davidwalsh.name/php-remove-variable
function remove_querystring_var($url, $key) {
$url = preg_replace('/(.*)(?|&)' . $key . '=[^&]+?(&)(.*)/i', '$1$2$4', $url . '&');
$url = substr($url, 0, -1);
return $url;
}
推荐阅读
- python - 如何使用嵌套字典查询 Django JSONField?
- docker - 如果工作空间处于停止状态,Che 6 工作空间不会显示为退出的 docker 容器
- javascript - 如果 div 中没有内容,则隐藏导航链接
- java - Eclipse:“用分支、标签或版本替换”不能按预期工作
- python - 无法从函数返回和分配变量?
- flutter - 如何在颤振中创建下拉选项卡
- laravel - 如何使用 maatawebsite/excel 3.1 版获取下拉列表中的数据
- python - datetime.time 的总和列表
- python - Django - 无法从模型访问数据
- javascript - 如何更改 chart.js 轴标签颜色?