【问题标题】:Duplicate parameter string in URLURL 中的重复参数字符串
【发布时间】:2017-05-04 16:29:29
【问题描述】:

我用 PHP/MySQL 做了一个小网站

我已将参数和值放入超链接以加载动态内容,但是,当用户单击超链接时,查询字符串会在浏览器窗口中重复。

例如:

<a href="mypage.php?id=123">MyLink</a>

网络浏览器加载:

www.mysite.com/mypage.php?id=123?id=123

我确信这很简单,但是在 Google 上几个小时后,我找不到哪里出错了

请帮忙,我在这里失去理智


大家好,

我想这可能是一个简单的属性问题。

我有一个带有常用字段的 MySQL 数据库...

  • Public_ID [整数]
  • 标题 [VARCHAR]
  • 发布日期 [VARCHAR]
  • 介绍文本 [TEXT]
  • 正文 [TEXT]
  • 等等...

排序规则设置为“utf8_general_ci”

我使用 PHP:

$QueryResult =  mysqli_query($connection, "SELECT Public_ID, Title, Body, PostDate, Author, TopicID FROM news ORDER BY PostDate DESC");

while ($result = mysqli_fetch_array($QueryResult)){

   echo "<div class=\"news_item\">
    <a href=\"article.php?sid".$result['Public_ID']."\">
        <span>
<em>".strip_tags(stripslashes($result['Title']))."</em>
<p>".nl2br(strip_tags(html_entity_decode($result['IntroText']), '<i><b>'))."</p>
<hr>
        </span>
    </a>
</div>";
}

很长一段时间以来,我一直在我所有的爱好网站上使用这种编码理念,但我是自学成才的老派,所以可能在某个地方犯了一个基本错误

有问题的网站是absolutegamerz dot com

但这在我的其他网站 absoluteavp dot com 上不是问题

由于设置了 STS 过期,托管服务提供商似乎在其 nginx 上启用了 HSTS

【问题讨论】:

  • 发布整个代码
  • 您需要发布所有相关代码,甚至包括可能的 mysql 和 db 架构/值。
  • 如果您退出了 Stack,当您重新登录时,您将无法获得解决方案;不是因为您留下的内容,也没有在您的问题中发布。
  • 大家好,忙着扫楼下的厕所。我已将额外信息添加到原始帖子中(见下半部分)

标签: php html nginx


【解决方案1】:

最后是简单的type-o,和服务器上的一个奇怪的重写规则。

我联系了主机提供商,他们没有什么帮助。

我开始回归基础,使用浏览器中的开发者工具检查网络流量。

我创建了一个空白的 html 页面并开始复制并粘贴 PHP 生成的内容的位,以查看问题发生的时间............ .

....

....

....

&lt;HEADER&gt; 中,&lt;base href="https://.... &gt; 标记导致所有内容都重定向到 HTTPS!哦!!!!

然后服务器有一个重写规则将所有内容发送回 HTTP 以及发生重复时。

标签的更正解决了一切

nOOb 错误

【讨论】:

    猜你喜欢
    • 2015-03-30
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多