代码之家  ›  专栏  ›  技术社区  ›  Talk is Cheap Show me Code

如何从托管在子文件夹上的Laravel URL中删除“public”?

  •  0
  • Talk is Cheap Show me Code  · 技术社区  · 4 年前

    我有一个 Laravel 5.3 位于以下位置的共享主机项目 address .

    如何删除 公众的 从URL?

    现在,同样的问题也被问到了 Remove public from URL Laravel 5.3 on shared hosting 但许多答案都要求将所有公共内容移动到根域,但我的根域已经承载了一些 index.php 在里面。

    你能告诉我怎么做吗?所有其他信息与共享的问题相同,即默认值 .htaccess 文件位于公共和家庭(laravel安装)文件夹中。第二,我在共享主机中,我无法更改 Vhost 或者别的什么。

    这是我里面的文件夹结构 https://yourdomain.tld/home 文件夹

    enter image description here

    0 回复  |  直到 4 年前
        1
  •  1
  •   Bulent    4 年前

    我认为有三种可能的解决方案:

    1. 由于您使用vhost而不是localhost,问题可能是DocumentRoot声明。我使用Xampp,因此路径和代码将基于此。在我的例子中,创建vhost的文件位于:
    C:\Xampp\apache\conf\extra\httpd-vhosts.conf
    

    vhost代码如下:

    <VirtualHost *:80>
        DocumentRoot "C:/Xampp/htdocs/mydomain/home/public"
        ServerName mydomain.tld/home
        ErrorLog "logs/mydomain-e1rror.log"
        CustomLog "logs/mydomain-access.log" common
    </VirtualHost>
    

    顺便说一句,如果你使用的是Windows机器,请确保你在“etc”文件中的127.0.0.1 mydomain.tld。

    当你进入 www.mydomain.tld 它应该找到位于公用文件夹中的index.php文件。

    1. 由于你使用的是Laravel的旧版本,我想你可以从liveserver下载它。当我们部署应用程序时,我们会在public/index.php文件中进行一些更改,以告诉我们的应用程序Laravel在哪里
    require __DIR__.'/../vendor/autoload.php'; //
    

    我认为这在你的index.php文件中是不同的。顺便说一句,我不知道这个路径在5.3版本中是否不同。

    1. 您的文件夹结构不正确。你可以尝试将其与新安装的Laravel进行比较。