我只是想知道是否有人可以用一些知识来启发我。 我想要做的是"重叠"一个网址。例如:
website.com/index.php?page=something&id=的 5432
成为(从第一个网址获取id):
website.com/src/popup.php?page=something&id=的 5432
任何快速简单的方法吗?
谢谢!
答案 0 :(得分:0)
您似乎正在寻找某种重定向。
我不确定您是否考虑在此处使用完全javascript,因为您已经展示了PHP文件扩展名。
<强>的Javascript 强>
对于仅限Javascript的解决方案,您可以尝试以下方法:
//Parameter function thanks to https://stackoverflow.com/a/901144/917035
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
//Build the new location string.
var page = getParameterByName("page");
var id = getParameterByName("id");
var locationString = 'http://website.com/src/popup.page?page=' + page + '&id=' + id;
//Redirect
window.location = locationString;
或者你可以用PHP实现同样的目的:
<强> PHP 强>
<?php
$page = $_GET['something'];
$id = $_GET['id'];
$locationString = 'website.com/src/popup.page?page=' . $page . '&id=' . $id;
header('Location: ' . $locationString);
?>
哪个会接受您的网址查询中的参数(page
和id
),然后将其传递到header
请求中以将用户重定向。
如果您正在寻找所有页面的长期解决方案,则可以选择编辑.htaccess
文件的方式,类似于{{3使用RewriteRule
来保留参数。