在子文件夹上部署的Laravel应用上路由失败

在子文件夹上部署的Laravel应用上路由失败,laravel,routing,cpanel,Laravel,Routing,Cpanel,好的,这就是正在发生的事情 实际上,我已经创建了一个小型的laravel应用程序,但它仍处于开发阶段 当我将它上传到通过cPanel管理的服务器共享主机时,我已经将它部署到主网站内的一个子文件夹中 在服务器的public_html文件夹中有一个主网站WordPress,因此我创建了一个子文件夹,将我的应用程序放在其中 现在,当您请求时,您可以访问Wordpress站点。 当您请求时,您将进入laravel应用程序的初始页面 但是,当我尝试浏览应用程序中的任何页面时,路由会将我返回到根web文件夹

好的,这就是正在发生的事情

实际上,我已经创建了一个小型的laravel应用程序,但它仍处于开发阶段

当我将它上传到通过cPanel管理的服务器共享主机时,我已经将它部署到主网站内的一个子文件夹中

在服务器的public_html文件夹中有一个主网站WordPress,因此我创建了一个子文件夹,将我的应用程序放在其中

现在,当您请求时,您可以访问Wordpress站点。 当您请求时,您将进入laravel应用程序的初始页面

但是,当我尝试浏览应用程序中的任何页面时,路由会将我返回到根web文件夹中的路由

例如,如果我按下登录按钮,请求重定向到,显然,页面加载失败

有趣的是,如果我直接访问公共页面,它似乎工作得很好

如果我直接请求并按下相同的登录按钮,则会向发出请求,并且它会工作!!甚至JS和CSS链接也能在该请求中正确检测到

我怀疑这可能是一件非常愚蠢的事情,我现在不能看到,因为我太累了,但我真的很感激任何关于这件事的见解

我的laravelapp文件夹中的index.php如下所示:

    <?php

  /**
   * Laravel - A PHP Framework For Web Artisans
   *
   * @package  Laravel
   * @author   Taylor Otwell <taylor@laravel.com>
   */

$uri = urldecode(
    parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
);

// This file allows us to emulate Apache's "mod_rewrite" functionality from the
// built-in PHP web server. This provides a convenient way to test a Laravel
// application without having installed a "real" web server software here.
if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
    return false;
}

require_once __DIR__.'/public/index.php';
这是/laravelapp/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]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>
也许我可以用myLaravelApp.oursite.com这样的子域来解决这个问题?

好的

我修复了将laravelApp/public上的.htaccess复制到laravelApp的问题


根文件夹似乎需要某种类型的重定向,这非常有效。

公用文件夹中的.htaccess文件如何?@Shobi我已将其附加到问题中。你看到有什么东西可以做到这一点吗?你在配置文件中设置了你的站点URL了吗?@GBWDev APP_URL在my.env文件中指向,如果这是你要问的