Laravel从子域URL的根目录删除public / index.php?

问题描述 投票:0回答:1

所以,在经历许多错误之后,我取得了一些成功,我目前的.htaccess看起来像这样:

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

RewriteEngine On


#Redirect URL
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1 [NC,L]


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

在我必须去domain.uk/public/index.php之前

我需要解决2个问题,首先要摆脱index.php第二个摆脱/ public

现在此代码可以执行此操作,但是网页已损坏,没有图像,css等正在加载,但是站点功能可以运行,我可以登录并工作该页面,但是它没有格式设置...关于如何修复的任何想法这个?

php laravel .htaccess
1个回答
0
投票

拳头去掉index.php,您可以使用以下示例:

将其保存在您的.htaccess文件中:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

或检查此question

第二个要删除的public文件夹,您需要复制子域根文件夹内的public文件夹,然后编辑index.php中的文件路径,之后,您需要将Laravel应用程序的其他文件移动到对于我的案例laravel-app,例如/var/www/laravel-app,位于子域根文件夹之外;对于我的示例,子域的根子文件夹类似于/var/www/html

这是我的laravel autoload.php

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

例如:

require __DIR__.'/../../laravel-app/bootstrap/autoload.php';

这是app.php

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

例如:

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

通过此示例,您可以将主应用程序移动到任何您想要的位置,我的意思是将其放置在公共访问无障碍的地方。

© www.soinside.com 2019 - 2024. All rights reserved.