Apache虚拟主机始终重定向到/ dashboard

问题描述 投票:2回答:6

我有一个看似常见的问题,但我发现的任何解决方案似乎都不适用于我的情况。

我正在尝试设置一个虚拟主机,以便我可以通过转到“walkpeakdistrict.local”来访问我的Laravel安装的公共文件,但是当我在google chrome中键入此地址时,我总是被重定向到此地址的xampp仪表板“https://walkpeakdistrict.local/dashboard/”。

我在以下xampp目录中安装了Laravel:c:/ xampp / htdocs / walkpeakdistrict_uk。

我有“C:\ xampp \ apache \ conf \ extra \ httpd-vhosts.conf”设置如下:

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/walkpeakdistrict_uk/public"
    ServerName walkpeakdistrict.local
</VirtualHost>

我有“C:\ Windows \ System32 \ drivers \ etc \ hosts”设置如下:

127.0.0.1   localhost
127.0.0.1   walkpeakdistrict.local

如果有人能对此问题提供任何见解,我将非常感激。

php laravel apache xampp virtualhost
6个回答
2
投票

把它作为C:\...\httpd-vhosts.conf的第一行(并重新启动Web服务器):

NameVirtualHost *:80

所以,它应该是这样的:

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "C:/xampp/htdocs"
</VirtualHost>

<VirtualHost *:80>
    ServerName walkpeakdistrict.local
    DocumentRoot "C:/xampp/htdocs/walkpeakdistrict_uk/public"
</VirtualHost>

我会将所有项目放在C:/xampp/htdocsC:/xampp之外的某个地方。让C:/xampp/htdocs成为标准的localhost位置,里面只有两个文件(简单的index.phpindex.html),但是使用另一个文件。更好的是,使用另一个分区,而不是系统分区C:。像D:/projects,左右。所以,你会有D:/projects/walkpeakdistrict_uk

祝好运。


1
投票

将您的文档根目录更改为此,只需在公共末尾添加斜杠即可

DocumentRoot "C:/xampp/htdocs/walkpeakdistrict_uk/public/"

1
投票

出于某种原因,我很确定我的问题与SSL重定向有关。当我在强制https时编辑我的.htaccess以排除local.mydomain.com时,我停止了重定向到XAMPP仪表板。

以下是我的.htaccess部分,它将本地网站排除在重定向到https之外。您可以为其他本地域添加额外的RewriteCond行。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !=localhost
    RewriteCond %{HTTP_HOST} !local\.
    RewriteCond %{HTTP_HOST} !other.localdomain.example.com
    RewriteCond %{HTTPS} !=on
    RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]
</IfModule>

<IfModule mod_headers.c>
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !local\.
    RewriteCond %{HTTP_HOST} !other.localdomain.example.com
    Header set Strict-Transport-Security "max-age=16070400" env=HTTPS
</IfModule>

0
投票

好吧,我不确定为什么这是一个问题,但是当我将虚拟主机的服务器名称更改为“.local”以外的任何内容时,它似乎都有效。

再次感谢所有回复的人!


0
投票

在开发我的网站之后我遇到了这个问题,我只需重新启动我的机器即可解决这个问题。几个月后,谷歌随后使用.dev无效,因此我的虚拟主机停止工作。我将虚拟主机的名称更改为.test并获得了仪表板。我忘记了简单的解决方案,并在此页面上搜索解决方案。然后我记得......我重新启动了我的机器并且嘿presto ....它工作。没有更多的仪表板。我得到了正确的主页。


-1
投票

我想你现在已经把这个问题弄清楚了,但对于那些偶然发现这个问题的人来说,这是最常见的答案。

在XAMPP控制面板上,如果在Apache仍在运行时编辑httpd-vhosts.conf文件,它将通过它的缓存继续运行该文件的先前版本,因此解决方法是通过XAMPP控制面板重新启动Apache。

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