XAMPP中的虚拟主机问题,基于Laravel的项目
Posted
技术标签:
【中文标题】XAMPP中的虚拟主机问题,基于Laravel的项目【英文标题】:Problem with Virtual Host in XAMPP, project based on Laravel 【发布时间】:2021-01-30 03:52:44 【问题描述】:我正在尝试在 lacalhost 上的 laravel 中启动项目。这个项目不是我的,我致力于它,并试图弄清楚它是如何构建的。有主要文件:enter image description here
在这个文件中是 laravel.core。他的内心是这样的:enter image description here
在我的 XAMPP httpd-vhosts 中,我有 VirtualHost。在我的每个项目都正常工作之前,没有问题。在虚拟主机中,我创建 index.php 所在的主文件夹的路径。但是当我在浏览器中尝试打开时,会警告说这个网站很危险,因为它是自我认证的,之后,只有 XAMPP Dashboard,没有别的了。
在我的 index.php 中有路径:
require __DIR__.'/laravel_core/bootstrap/autoload.php';
在上面的文件中我有:
require __DIR__.'/../vendor/autoload.php';
编辑:
所以这里是 .htaccess:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %HTTPS !=on
RewriteRule ^(.*)$ https://%HTTP_HOST%REQUEST_URI [L,R=301]
# Handle Front Controller...
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %HTTP:Authorization .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%HTTP:Authorization]
</IfModule>
在 index.php 中:
require __DIR__.'/laravel_core/bootstrap/autoload.php';
$app = require_once __DIR__.'/laravel_core/bootstrap/app.php';
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);
在底部,我从我的 .env 添加代码,接下来是 bootsrap/autoload.php,最后是 vendor/autoload.php:
APP_ENV=local
APP_KEY=base64:2OWwGrH6hL+4MKkV7sZZ21MTjSHv/zacUDC67FWVBa4=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=testowa1
DB_USERNAME=testowa1
DB_PASSWORD=password
DB_TABLE_PREFIX=cms_
define('LARAVEL_START', microtime(true));
require __DIR__.'/../vendor/autoload.php';
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit7c0fb85d4a884560a3dba2e1e877f7b0::getLoader();
【问题讨论】:
VirtualHost
可能只响应 ip 和端口的组合。如果这是您第一次收到此警报,则很可能您仅将它们配置为使用端口 80,但应用程序正在重定向到 443,因此 apache 不知道该提供什么服务。复制您的虚拟主机配置以使用正确的端口或重新配置应用程序。
我试着按照你的建议做点什么。我已将我的虚拟主机复制到正确的端口,但它没有帮助。接下来我创建了自己的 ssl 证书,还是一样。我试图重新配置我的应用程序,但我不知道具体如何。在我的 .env 文件中?
可能是重定向,有.htaccess
文件吗?请尝试收集有关重定向、服务器配置、您正在访问的 url 以及您最终到达的位置等的更多信息。否则我们只能根据疯狂的猜测继续。
我编辑了我的问题,并添加了一些代码,也许这有助于理解问题出在哪里。如果有人知道我可以添加什么资源,请写。
我仍然认为端口存在VirtualHost
问题...尝试从.htaccess
(带有%HTTPS !=on
的那个)中删除第一对RewriteCond
/ RewriteRule
。跨度>
【参考方案1】:
好的,这个问题通过msg解决了。他在评论中写道,问题出在 VirtualHost,当我删除 .htaccess 中提到的这两行时,显示 XAMPP 仪表板就没有问题了。
【讨论】:
以上是关于XAMPP中的虚拟主机问题,基于Laravel的项目的主要内容,如果未能解决你的问题,请参考以下文章
使用带有端口 8003 的 Xampp 为 Laravel 创建虚拟主机