首页 > 解决方案 > 从 Laravel 子域中托管的 url 中删除公共

问题描述

我在子域中托管了我的 Laravel 站点,它的 url 是这样的:

https://mymaindomain.com/subfolder/public/about-us

现在我想从 url 中删除 public,我的 .htaccess 文件是这样的:

<IfModule mod_rewrite.c>
    RewriteCond %{HTTPS} !=on
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}/beta [L,R=301]
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

标签: laravel.htaccesslaravel-5

解决方案


将所有文件从/public您的根文件夹/(主要是您的 laravel 文件夹)中移动。

现在打开index.php文件并编辑 2 行,如下所示:

require __DIR__.'/../vendor/autoload.php';
// changed to
require __DIR__.'/vendor/autoload.php';

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

现在将此行添加到您的.htaccess以防止.env从 URL 访问:

<Files .env>
order allow,deny
Deny from all
</Files>

通过这种方法,您也可以在任何类型的共享主机中托管您的 laravel 应用程序。

希望这可以帮助


推荐阅读