当应用程序在本地运行时如何修复 PHP 上的重定向错误

Posted

技术标签:

【中文标题】当应用程序在本地运行时如何修复 PHP 上的重定向错误【英文标题】:how to fix redirect error on Php when application run locally 【发布时间】:2018-10-23 17:50:48 【问题描述】:

我在重定向到管理控制器时遇到了这个问题。我的第一页是登录页面。我从用户那里获取用户名和密码,当我点击提交时,它转到: [http://localhost:2020/taxiapp/admin/dashboard] 我得到这个错误:“找不到对象!”

在管理员登录中,我使用此代码将信息发布到管理员控制器:

     if($user2)
    
        redirect("http://$_SERVER[HTTP_HOST]/taxiapp/admin/dashboard");
    

【问题讨论】:

至少分享你的代码,它没有解释任何东西。 【参考方案1】:

我遇到了完全相同的问题,但它是在使用 Ubuntu 16.x 的实时服务器上 这个问题与 mod_rewrite 和您的 .htaccess 文件有关。所以请确保 mod_rewrite 已正确安装和设置...我为此做了 sudo a2enmod rewrite 并重新启动了我的服务器。

现在是重要的部分。

首先我改变了我的虚拟主机配置 sudo nano /etc/apache2/sites-available/000-default.conf

通过在 VirtualHost *:80 之后的最顶部添加它

<Directory /var/www/html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
</Directory>

然后在我的应用程序文件夹的根目录中使用 nano /var/www/html/.htaccess 创建了我的应用程序 .htacess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
# Rewrite all other URLs to index.php/URL
RewriteRule ^(.*)$ index.php?url=$1 [PT,L] 
</IfModule>
<IfModule !mod_rewrite.c>
 ErrorDocument 404 index.php
</IfModule>

这应该让您了解如何在 Xampp 中解决它

【讨论】:

您仍然需要搜索文件并将taxiapp/admin/dashboard替换为/admin/dashboard,然后将文件放在根文件夹中。【参考方案2】:

像这样添加,

redirect("admin/dashboard");

另外,请确保您的base_url 喜欢关注

$config['base_url'] = 'http://'.$_SERVER['HTTP_HOST'].':'. $_SERVER['SERVER_PORT'].'/taxiapp/';

【讨论】:

我的问题不是重定向语法。我在 xampp 中更改了端口。我将项目文件夹放在 htdocs 文件夹中。当我重定向到管理控制器时,它显示 404 错误页面并说找不到对象!在此服务器上找不到请求的 URL。引用页面上的链接似乎是错误的或过时的。请将该错误告知该页面的作者 你应该在base_url中添加端口,现在检查我的答案。 我这样做了,但我得到了这个错误:找不到服务器 IP 地址。 你在 routes.php 中添加了admin/dashboard 吗?? 没有。我用 redirect("http://$_SERVER[HTTP_HOST]/taxiapp/admin/dashboard");【参考方案3】:

根据您的问题,我认为您无法重定向到特定页面。在 PHP 中重定向。尝试使用以下代码

header("Location: http://$_SERVER[HTTP_HOST]/taxiapp/admin/dashboard");

让我知道这是否适合你。

【讨论】:

你缺少一个 die 或 exit 函数而不是 header 函数 我的问题不是重定向语法。我在 xampp 中更改了端口。我将项目文件夹放在 htdocs 文件夹中。当我重定向到管理控制器时,它显示 404 错误页面并说找不到对象!在此服务器上找不到请求的 URL。引用页面上的链接似乎是错误的或过时的。请将该错误告知该页面的作者。

以上是关于当应用程序在本地运行时如何修复 PHP 上的重定向错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在移动设备的重定向页面上传递 PHP 会话值?

登录脚本PHP上的重定向循环

Google OAuth Api 未在登录时重定向

IE6 上的重定向循环

在Chrome中,最终使用带有正则表达式的重定向扩展程序,如何将所有facebook.com网址重定向到mbasic.facebook.com URLS

Azure 中 Spring Boot 应用程序的重定向/会话问题