【问题标题】:Editing the urls on a specific website编辑特定网站上的网址
【发布时间】:2015-10-18 09:58:54
【问题描述】:

我只是想知道是否有人可以用一些知识启发我。 我想要做的是“重叠”一个网址。例如:

website.com/index.php?page=something&id=5432

变成(从第一个 url 获取 id):

website.com/src/popup.php?page=something&id=5432

有什么快速简单的方法吗?

谢谢!

【问题讨论】:

  • 这是你想做的浏览器插件吗?或者你正在开发这个网站?很难说你在做什么。就字符串操作而言,这似乎是可行的;正则表达式可能是最直接的方式,具体取决于您对它们的熟悉程度。
  • 抱歉有点含糊。它确实是一个浏览器插件。

标签: javascript html


【解决方案1】:

您似乎正在这里寻找某种重定向。

我不确定您是否考虑在这里完全使用 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);
?>

它将获取 URL 查询中的参数(pageid),然后将它们传递给 header 请求以将用户重定向。

如果您正在为 所有 页面寻找长期解决方案,则可以通过编辑 .htaccess 文件的方式使用选项,类似于 this answer 使用 @987654328 的方式@ 保留参数。

【讨论】:

  • 非常感谢您的帮助,但我没有提及我不拥有我打算对其进行更改的网站。
  • @JohnDough 没关系!我想那里的javascript代码应该仍然可以工作?大多数浏览器插件也可以访问所有 javascript 功能和窗口控制。
猜你喜欢
  • 2016-04-30
  • 1970-01-01
  • 2018-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多