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

时间:2018-01-30 03:10:08

标签: php laravel apache xampp virtualhost

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

我尝试设置虚拟主机,以便访问" walkpeakdistrict.local"我可以访问我的Laravel安装的公共文件。但是当我将此地址输入谷歌浏览器时,我总是被重定向到此地址的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>

我有&#34; C:\ Windows \ System32 \ drivers \ etc \ hosts&#34;设置如下:

127.0.0.1   localhost
127.0.0.1   walkpeakdistrict.local

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

9 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

这也发生在我身上。我解决了它。就我而言,它是由于 SSL 模块而发生的。所以,把它关掉让我摆脱了麻烦。只需打开 httpd.conf 文件并通过在代码前面添加 # 来注释 SSL 包含代码,如下所示。

# Secure (SSL/TLS) connections
# Include conf/extra/httpd-ssl.conf

在此之后,将得到解决。

答案 3 :(得分:0)

将此作为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

祝你好运。

答案 4 :(得分:0)

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

再次感谢所有回复的人!

答案 5 :(得分:0)

开发网站后出现了这个问题,我只是通过重新启动机器来解决了这个问题。几个月后,Google随后使.dev的使用无效,因此我的虚拟主机停止工作。我将虚拟主机的名称更改为.test并获得了仪表板。我忘记了简单的解决方案,而是在此页面上寻找解决方案。然后我想起了……我重新启动了机器,嘿……不再有仪表板。我得到正确的主页。

答案 6 :(得分:0)

在您的情况下,您将localhost设置放入虚拟主机中。检查是否在默认文件conf上获得了此脚本,然后对其进行注释。适用于Mac的xampp案例

Include "${your_xampp_path}/conf/httpd.conf"

答案 7 :(得分:-1)

我想您已经解决了这个问题,但是对于任何偶然发现此问题的人来说,这是最常见的答案。

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

答案 8 :(得分:-2)

解决方法很简单,它总是将 https url 重定向到 Dasboard,您只需删除离开 http 的 s:

<块引用>

示例: http://juego123.com