【问题标题】:Apache virtual host always redirecting to /dashboardApache 虚拟主机总是重定向到 /dashboard
【发布时间】:2018-07-08 20:37:03
【问题描述】:

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

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

我已将 Laravel 安装在以下 xampp 目录中: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

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

【问题讨论】:

  • 在“httpd.conf”中,你做了Include "C:\xampp\apache\conf\extra\httpd-vhosts.conf吗?另外,你修改的时候有没有重启过网络服务器?

标签: php laravel apache xampp virtualhost


【解决方案1】:

将此作为C:\...\httpd-vhosts.conf 中的第一行(并重新启动网络服务器):

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 成为标准的本地主机位置,其中只有两个文件(简单的index.phpindex.html),但在项目中使用另一个文件。更好的是,使用另一个分区,而不是系统分区C:。像D:/projects,左右。所以,你会得到D:/projects/walkpeakdistrict_uk

祝你好运。

【讨论】:

  • 感谢您的回复,我已经尝试过了并重新启动了 apache,但不幸的是,它似乎仍然想将我重定向到仪表板。
  • @al.tron 欢迎您。很好,它现在可以工作......即使没有.local。不要忘记在几天内将您自己的答案标记为“已接受”,以便其他用户可以从您的解决方案中受益。再见。
【解决方案2】:

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

再次感谢所有回复的人!

【讨论】:

  • 天啊,这两天我都在和这争吵。谢谢你。现在我离开它没有任何 .COM 或 .DEV 或 .LOCAL 并且它工作完美。
  • Thanx @al.tron 我花了 10 个小时弄清楚为什么当服务器名称设置为 site.local 时虚拟主机会被重定向到 xampp 仪表板,但是当我将其更改为 site.localhost 时它运行良好。
  • 我在 2021 年才遇到这种情况... >.
  • 你是怎么做到的?
【解决方案3】:

出于某种原因,我很确定我的问题与 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>

【讨论】:

【解决方案4】:

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

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

【讨论】:

  • 这不是 OP 要求的
【解决方案5】:

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

【讨论】:

    【解决方案6】:

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

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

    【讨论】:

      【解决方案7】:

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

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

      在此之后,它会得到解决。

      【讨论】:

      • 这对我有用。 SSL 重定向是问题
      【解决方案8】:

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

      示例: http://juego123.com

      【讨论】:

      • 这对我有用,在新项目中虚拟主机正在工作,但旧项目长时间未使用,出现重定向到 xampp 仪表板的问题
      猜你喜欢
      • 2016-03-26
      • 2017-11-29
      • 2016-07-16
      • 2014-01-19
      • 2014-04-11
      • 1970-01-01
      • 2014-08-21
      • 2022-06-18
      • 2018-08-14
      相关资源
      最近更新 更多