所以,在经历许多错误之后,我取得了一些成功,我目前的.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等正在加载,但是站点功能可以运行,我可以登录并工作该页面,但是它没有格式设置...关于如何修复的任何想法这个?
拳头去掉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';
通过此示例,您可以将主应用程序移动到任何您想要的位置,我的意思是将其放置在公共访问无障碍的地方。