【问题标题】:How to get rid of the public path in laravel on wamp如何摆脱 laravel on wamp 中的公共路径
【发布时间】:2013-03-06 07:18:29
【问题描述】:

我有一个快速的问题。我第一次尝试使用 Laravel。为此,我正在使用 Wamp。而且我不知道这是否重要,但我在这个地址设置了 wamp 的 DocumentRoot :

DocumentRoot "C:\Users\Bebop\Documents\Site Internet/"

我在一个名为 Sites 的文件夹中为许多不同的网站使用 wamp。当我访问其中一个站点时,我会访问:localhost/Sites/thewebsite。所以我真正想要的只是摆脱 Laravel 网站路径中的公用文件夹。

目前我已经做到了:

  • 更改 apache 的 httpd.conf 以包含 vhosts.conf :

    包括 conf/extra/httpd-vhosts.conf

  • 创建了一个新的虚拟主机并像这样配置目录:

    DocumentRoot "C:/Users/Bebop/Documents/Site Internet/Sites/LaravelTest/public" 服务器名称站点/LaravelTest

    选项索引 FollowSymLinks 允许覆盖所有 订单拒绝,允许 拒绝一切 允许来自 127.0.0.1

之后我在位于 C:\Windows\System32\drivers\etc 的文件中添加了一个新主机

127.0.0.1       localhost
127.0.0.1       Sites/LaravelTest

通过这样做,当我访问 localhost 时,我会被重定向到 Laravel 网站。但我想去 localhost/Sites/LaravelTest,因为现在我无法访问我所有的其他网站。

有人知道怎么做吗?

非常感谢您的帮助

【问题讨论】:

  • 改为访问localhost/Sites/LaravelTest/public
  • 我实际上并不关心访问公共,更多的是了解它是如何工作的问题

标签: wamp laravel virtualhost public


【解决方案1】:

假设你想访问你的 Laravel 站点:http://localhost/LaravelSite/

您可以在 httpd.conf 文件中使用别名:

Alias /LaravelSite/ "C:/Users/Bebop/Documents/Site Internet/Sites/LaravelTest/public/"
<Directory "C:/Users/Bebop/Documents/Site Internet/Sites/LaravelTest/public">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

或者,在命令提示符下创建一个符号链接:

mklink /D "C:\Users\Bebop\Documents\Site Internet\Sites\LaravelSite" "C:\Users\Bebop\Documents\Site Internet\Sites\LaravelTest\public"`

【讨论】:

  • 非常感谢,它有帮助。我有最后一个问题。这是否意味着我不能在共享主机或共享主机上使用 Laravel,而我必须有一个专用主​​机才能使用它?
  • 不,你可以在共​​享主机上使用 Laravel。我使用符号链接来做。
  • 当我在带有 Laravel 的 Windows 上使用 mklink 时,我所有的 GET 请求都可以工作,但我在 POST 请求中得到 404。知道为什么吗?
  • 您确定该问题与 mklink 有关吗?在使用 mklink 之前,您的 POST 请求是否正常工作,即 laravel/public/ 路径?
猜你喜欢
  • 2017-01-20
  • 2018-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-09
  • 2015-08-13
  • 1970-01-01
  • 2018-12-01
相关资源
最近更新 更多