繁体   English   中英

Apache 虚拟主机总是重定向到 /dashboard

[英]Apache virtual host always redirecting to /dashboard

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

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

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

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

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

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

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

127.0.0.1   localhost
127.0.0.1   mytestdomain.local

如果有人能对这个问题提供任何见解,我将不胜感激。

好的,我不知道为什么这是一个问题,但是当我将虚拟主机的服务器名称更改为“.local”以外的任何名称时,它似乎可以工作。

再次感谢所有回复的人!

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

祝你好运。

由于某种原因,我很确定我的问题与 SSL 重定向有关。 当我编辑我的 .htaccess 以在强制使用 https 时排除 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>

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

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

在此之后,问题将得到解决。

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

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

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

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

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

我面临同样的错误。 我通过从虚拟主机标签中删除 *80 端口号解决了错误,然后我的代码看起来像

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

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

**注意:**您的虚拟主机标签看起来像这样<VirtualHost *>这意味着我们正在重定向到任何其他端口或不将虚拟主机绑定到端口 80,这肯定会起作用。

我带着同样的问题来到这里,在我的情况下,通过http访问网站,而不是https工作。

在浏览器中,不要以这种方式访问:

https://mytestdomain.loc

试试这个

http://mytestdomain.loc

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

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

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

示例: http : //juego123.com

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM