我有以下问题:一旦我调用一个带有附加参数的文件,重定向就不能工作了!
转发是用PHP 头完成的。
浏览器中的文件调用:
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-04-13 16:19:14
附加字符,2021-01-04不被视为查询字符串,而是资源名称(文件名)的一部分。如果没有名为Archiv-567KES.html,2021-01-04的文件,这就是web服务器找不到它的原因。
你的意思是URL是domain.de/archiv/Archiv-567KES.html?2021-01-04吗?问号字符标记查询字符串的开始。您似乎在脚本中的头调用中正确地放置了问号。
发布于 2021-04-13 16:50:57
在处理.html文件时,您的when服务器设置是否使用PHP?如前所述,这就是为什么我怀疑您的服务器正在返回该错误。
至于您是如何传递参数的,所有这些都是无关的,除非您可以让服务器用PHP来解释具有.html扩展名的文件。
在您的httpd.conf中,您应该会看到类似于以下内容的内容:
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>该配置告诉服务器使用PHP来解释以.php扩展名结尾的文件。
下面是一个速记文章,我认为它将帮助您实现这个解决方案。再说一遍,我不太熟悉您的具体环境,但这是我认为您要完成的任务的要点。
一旦服务器用PHP解释了.html文件,那么您就可以集中精力正确地传递查询字符串参数。
发布于 2021-04-14 08:37:41
首先,感谢您对我帖子的所有回复。
嗯,我得到了我们的搜索引擎优化部门的网址,正是在这种形式。
显然,这个URL出现在对数据的评估中,并带有上述消息。
关于参数,2021-01-04
https://www.mein_de_domain.de/archiv/Archiv-567KES.html,2021-01-04我将再次询问我的同事,并在这里给你反馈意见。
https://stackoverflow.com/questions/67077424
复制相似问题