【问题标题】:How to remove public from laravel url如何从 laravel url 中删除 public
【发布时间】:2023-03-23 15:49:01
【问题描述】:

我想一步一步从我的网址中删除公共

我已经完成了一些步骤,比如从公共索引和 htaccess 文件中复制文件,但我仍然找不到页面

【问题讨论】:

    标签: laravel


    【解决方案1】:

    如果您已经完成了 2 个步骤,那么您已经更改了 index.php,其中包含供应商文件夹路径,删除 /../ 并且一切正常

    $app = require_once __DIR__/../'/bootstrap/app.php';
    

    到

    $app = require_once __DIR__.'/bootstrap/app.php'; 
    

    【讨论】:

      【解决方案2】:

      可以在 laravel5 中从 url 中删除 public。请按以下步骤操作:

      第 1 步:从公共复制所有文件并粘贴到根目录

      第 2 步:打开 index.php 文件替换为

      require __DIR__.'/../bootstrap/autoload.php';
      

      到

      require __DIR__.'/bootstrap/autoload.php';
      

      和

      $app = require_once __DIR__.'/../bootstrap/app.php';
      

      到

      app = require_once __DIR__.'/bootstrap/app.php';
      

      然后删除所有缓存和 cookie。

      php artisan cache:clear
      

      【讨论】:

        【解决方案3】:

        我试图通过制作一个 .htaccess 文件来解决这个问题。该文件配置apache服务器并解决问题。只需将此代码放在名为“.htaccess”的文件中,然后将其保存在根文件夹中。

        <IfModule mod_rewrite.c>
            <IfModule mod_negotiation.c>
                Options -MultiViews
            </IfModule>
        
            RewriteEngine On
        
            RewriteCond %{REQUEST_FILENAME} -d [OR]
            RewriteCond %{REQUEST_FILENAME} -f
            RewriteRule ^ ^$1 [N]
        
            RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
            RewriteRule ^(.*)$ public/$1
        
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^ server.php
        </IfModule>
        

        【讨论】:

        • 但是这个解决方案会产生 Passport 身份验证问题。
        猜你喜欢
        • 2016-07-30
        • 1970-01-01
        • 2015-01-14
        • 2020-06-07
        • 1970-01-01
        • 1970-01-01
        • 2019-05-09
        • 2018-03-14
        • 1970-01-01
        相关资源
        最近更新 更多