首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中使用附加参数进行转发不起作用

在PHP中使用附加参数进行转发不起作用
EN

Stack Overflow用户
提问于 2021-04-13 15:02:50
回答 3查看 47关注 0票数 0

我有以下问题:一旦我调用一个带有附加参数的文件,重定向就不能工作了!

转发是用PHP 完成的。

浏览器中的文件调用:

代码语言:javascript
复制
https://www.mein_de_domain.de/archiv/Archiv-567KES.html,2021-01-04

错误消息如下:

代码语言:javascript
复制
  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的内容

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

有人知道为什么它没有参数而不是参数工作吗?

EN

回答 3

Stack Overflow用户

发布于 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吗?问号字符标记查询字符串的开始。您似乎在脚本中的调用中正确地放置了问号。

票数 0
EN

Stack Overflow用户

发布于 2021-04-13 16:50:57

在处理.html文件时,您的when服务器设置是否使用PHP?如前所述,这就是为什么我怀疑您的服务器正在返回该错误。

至于您是如何传递参数的,所有这些都是无关的,除非您可以让服务器用PHP来解释具有.html扩展名的文件。

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

代码语言:javascript
复制
<FilesMatch \.php$>
        SetHandler application/x-httpd-php
</FilesMatch>

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

下面是一个速记文章,我认为它将帮助您实现这个解决方案。再说一遍,我不太熟悉您的具体环境,但这是我认为您要完成的任务的要点。

一旦服务器用PHP解释了.html文件,那么您就可以集中精力正确地传递查询字符串参数。

票数 0
EN

Stack Overflow用户

发布于 2021-04-14 08:37:41

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

嗯,我得到了我们的搜索引擎优化部门的网址,正是在这种形式。

显然,这个URL出现在对数据的评估中,并带有上述消息。

关于参数,2021-01-04

代码语言:javascript
复制
https://www.mein_de_domain.de/archiv/Archiv-567KES.html,2021-01-04

我将再次询问我的同事,并在这里给你反馈意见。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67077424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档