【问题标题】:Forwarding in PHP with additional parameters does not work使用附加参数在 PHP 中转发不起作用
【发布时间】:2021-07-08 15:47:50
【问题描述】:

我有以下问题:一旦我调用带有附加参数的文件,重定向就不起作用!
转发是使用 PHP header 完成的。
浏览器中的文件调用:

https://www.mein_de_domain.de/archiv/Archiv-567KES.html,2021-01-04

错误信息如下:

  Multiple Choices 
  The document name you requested
  (/archiv/Archiv-567KES.html,2021-01-04) could not be found on this
  server. However, we found documents with names similar to the one you
  requested. Available documents:

但是文件在那里!
没有参数2021-01-04,调用完美。

这是Archiv-567KES.html文件的内容:

<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: /archiv/Archiv-567KES.html" . ($_SERVER['QUERY_STRING'] ? '?' . $_SERVER['QUERY_STRING'] : ''));
exit;
?>

有人知道为什么它在没有参数的情况下工作而不是在有参数的情况下工作吗?

【问题讨论】:

  • 网址中的,2021-01-04 是什么?看起来它不应该在那里。
  • “没有参数 2021-01-04,调用完美。” - 那个“参数”应该代表什么?以及如何生成此 URL?还是手动输入浏览器?
  • @webuser57,您确定您的网络服务器可以将 HTML 文件作为 PHP 文件处理吗?通常,PHP 预处理器仅针对 .PHP 文件扩展名调用
  • @BAerts 大多数 Web 服务器都可以执行 URL 重写。
  • @AymDev 是的-除非您的重写依赖于无法执行的 PHP 脚本,因为由于无法识别文件扩展名而未调用 PHP 模块。请参阅下面 Don R 的回答

标签: php redirect header


【解决方案1】:

附加字符 ,2021-01-04 不被视为查询字符串,而是作为资源名称(文件名)的一部分。如果没有名为 Archiv-567KES.html,2021-01-04 的文件,这就是网络服务器找不到它的原因。

您的意思可能是网址为 https://www.mein_de_domain.de/archiv/Archiv-567KES.html?2021-01-04 ?问号字符标记查询字符串的开始。您似乎确实在脚本的 header 调用中正确放置了问号。

【讨论】:

    【解决方案2】:

    您的网络服务器设置为在处理 .html 文件时使用 PHP 吗?正如上面 Don R 所指出的,这就是我怀疑您的服务器返回该错误的原因。

    就您如何传递参数而言,所有这些都是无关紧要的,直到您可以让您的服务器使用 PHP 解释具有 .html 扩展名的文件。

    查看您的httpd.conf,您应该会看到类似于以下内容的内容:

    <FilesMatch \.php$>
            SetHandler application/x-httpd-php
    </FilesMatch>
    

    该配置告诉服务器使用 PHP 来解释以 .php 扩展名结尾的文件。

    这里有一个quick article,我认为这将帮助您使该解决方案发挥作用。同样,我不熟悉您的具体环境,但这就是我认为您希望完成的工作的要点。

    一旦服务器使用 PHP 解释 .html 文件,您就可以专注于正确传递查询字符串参数。

    【讨论】:

      【解决方案3】:

      首先,感谢您对我帖子的所有回复。

      嗯,我从我们的 SEO 部门得到了网址,正是这种形式。
      显然,这个 URL 是在评估带有上述消息的数据时出现的。

      关于参数,2021-01-04

      https://www.mein_de_domain.de/archiv/Archiv-567KES.html,2021-01-04
      

      我会再问问我的同事,在这里给你反馈。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-26
        • 2014-07-20
        • 1970-01-01
        相关资源
        最近更新 更多