laravel 5将公众从网址中删除,而不是在WAMP上工作

时间:2015-10-13 06:00:19

标签: laravel

许多人发布了htaccess后,用于从网址中删除“公共”的信息。但我正在研究WAMP,这不起作用:

    RewriteEngine On

RewriteRule ^(.*)$ public/$1 [L]

这显示来自Laravel框架的以下错误消息:

抱歉,找不到您要查找的页面。 RouteCollection.php第161行中的1/1 NotFoundHttpException:

还有其他一些方法可以从网址中删除“公共”,但我想了解为什么这种方法不适用于我自己在帖子中频繁关注的人。我的网址是:http://localhost/laravel/(目录:d:/ wamp / www / laravel)

任何人都可以帮助我理解为什么这种流行的方法不适合我吗?他们在Laravel内部路由中是否有任何问题,因为我认为我的htaccess工作正常?

非常感谢。

2 个答案:

答案 0 :(得分:0)

我很抱歉这不是您想要的但是......而不是重写路径,转到您的Apache配置并更改您的目录,以便它包括/ public。这样你就可以从URL中删除现在必要的公共。我知道这不是你问题的答案,所以请不要贬低。不过,它应该可以解决你的问题。

答案 1 :(得分:0)

您的路由器未获取重定向路径,因为您的laravel安装是您的网络服务器中的子目录,而RewriteRule ^(.*)$正在拾取包含/laravel的整个路径。这被附加到public/,因为它是在$1中捕获的。

最简单的情况可能是将RewriteRule更改为不捕获laravel目录。

例如:

ReqriteRule ^laravel/(.*)$ public/$1 [L]

  

您可能需要也可能不需要正斜杠^/laravel/(.*)$ ...

或者,(并且更准确地说)您应该在apache配置中设置虚拟主机,以便在虚拟主机的根目录中提供laravel应用程序(因为它的设计)您可能会感觉更好从长远来看,使用Laravel Homestead作为预配置的开发环境。