【问题标题】:header(location:) always shows up 403 forbiddenheader(location:) 总是显示 403 禁止
【发布时间】:2017-12-08 09:40:53
【问题描述】:

我有一些问题。我在www.quso.epizy.com 的 index.php 总是返回 403 禁止,但如果我自己键入重定向路径,它就可以工作。我把它重定向到www.quso.epizy.com/home

我的应用程序中的每个重定向都不起作用,并且所有显示都被禁止,这是为什么?

它在 localhost 中可以正常工作,但在主机中却不行。我尝试在论坛中询问但没有答案。

我尝试使用header("location: www.quso.epizy.com/home/index.php");,但重定向仍然显示 403 被禁止。

这是我的 index.php

<?php

require_once 'config.php';
require_once 'vendor/libs/functions.php';

redirect(URL . 'home'); // redirect to authenticate page

这里是重定向功能

function redirect($url, $permanent = false) {
    if($permanent) {
        header('HTTP/1.1 301 Moved Permanently');
    }
    header('Location: '.$url);
    exit();
}

和 config.php 作为 URL

define('URL', 'http://www.quso.epizy.com/');

【问题讨论】:

  • 也许我在说一些愚蠢的话,但是如果你在终端上写 ls -l /path/to/your/index.php 会得到什么?你能告诉我们更多关于你的文件架构的信息吗
  • @Zyigh 我得到-rwxr-xr-x@ 1 ashraf_k admin 133 Dec 7 12:30 index.php 但这是我的笔记本电脑。我不知道如何在主机的终端上写。
  • 文件夹结构是什么样的?听起来好像您在 webroot 中缺少索引。 home 文件夹中有索引,但实际根目录中没有索引。
  • 完全可以,这是一个管理员可以读、写和执行的文件,其他人都可以读和执行。如果您只编写 URI 而不是完整的 URL 怎么办? (Location : ./home/)?顺便说一句,服务器是 nginx
  • @JustCarty 网络根目录 index.php 实际上是导致问题的原因。所以是的,我在 webroot 中有 index.php。 index.php 只是重定向到 /home/

标签: php redirect header


【解决方案1】:

好的,我找到了问题!

如果您正在查看网络,您会发现:

第一页,然后:

因此,如果您查看请求 URL(法语中的 URL de la requête),您可以看到您只是将您编写的用于重定向的 url 连接到您的域名之后。如果您将标头功能替换为:

,它可能会起作用
header('Location: ./home/index.php');
header("HTTP/1.1 301 Moved Permanently");
exit;

别忘了浏览器也是你的朋友,当一个请求不起作用时,你可以看看它!希望对你有帮助

【讨论】:

  • 您的标题有效!但我不明白。你是什​​么意思我连接网址?是主机的 .htaccess 文件在做吗?
  • 我无法回答你的问题,除非太接近,抱歉。但事实是,如果您查看第二张图片请求 URL(法语中的 URL de la requête)的第一行,您可以看到它。也许你的 'http://' 部分在 PHP 中被删除了?由于有重定向,您应该将标题设置为 301 btw
猜你喜欢
  • 2020-07-07
  • 2017-12-04
  • 2020-02-11
  • 1970-01-01
  • 1970-01-01
  • 2021-04-08
  • 1970-01-01
  • 2022-10-16
  • 1970-01-01
相关资源
最近更新 更多