【问题标题】:Laravel redirecting project to "projectURL/public/public"Laravel 将项目重定向到“projectURL/public/public”
【发布时间】:2020-10-31 04:03:22
【问题描述】:

首先这是我的 laravel 和 PHP 版本: Laravel 框架 7.17.2 PHP 7.3.19 (cli)

我的 laravel 项目有一个奇怪的问题:

在我的虚拟主机文件中:

<VirtualHost *:80>
    ServerName www.name.test
    DocumentRoot "C:\web\name\name\backend\public"
</VirtualHost>

在主机文件中:

127.0.0.1 www.name.test

尝试通过键入以下内容访问项目时: http://www.name.test 它会将我重定向到 url http://www.name.test/public/public

我的根文件夹和公用文件夹中有 .htaccess,其中包含以下内容:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Send Requests To Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

我不知道为什么会出现这种情况,以前它工作正常,但我猜是因为它发生在每台计算机上,所以在项目上意外更改了,所以它看起来不像是 php 配置问题。

希望有人可以就这个问题提供一些提示。

【问题讨论】:

  • 你的 PHP 和 Laravel 版本是多少?
  • 版本 7 laravel,Laravel Framework 7.17.2, php PHP 7.3.19 (cli)
  • 编辑后的版本
  • @Joaquin86 添加 public "name.test/public/public" 后工作正常吗?
  • @GauravGupta,不是,在那个 url 我没有任何控制器

标签: php laravel .htaccess redirect url-rewriting


【解决方案1】:

有两种方法可以解决此问题:

第 1 步:

只需将项目根目录中的 server.php 重命名为 index.php 文件即可。

第 2 步:

复制项目根目录公共文件夹中的index.php 并将其粘贴到根目录中。确保之前没有其他index.php

然后替换这两行:

require __DIR__.'/../vendor/autoload.php';
require_once __DIR__.'/../bootstrap/app.php';

require __DIR__.'/vendor/autoload.php';
require_once __DIR__.'/bootstrap/app.php';

希望这两种方法中的任何一种都有帮助!

【讨论】:

  • 非常感谢您提供这些信息,它给了我一些关于在哪里检查错误的想法,显然它已经与重定向一团糟
猜你喜欢
  • 1970-01-01
  • 2019-04-02
  • 2020-10-10
  • 1970-01-01
  • 2019-03-16
  • 2011-09-09
  • 2021-10-17
  • 2018-12-19
  • 2022-01-06
相关资源
最近更新 更多