【发布时间】: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 的回答