【问题标题】:laravel 5 removing public from url not working on WAMPlaravel 5 从 url 中删除 public 不适用于 WAMP
【发布时间】:2016-01-10 18:18:07
【问题描述】:

许多人发布以下 htaccess 作品用于从 url 中删除“public”。但我正在研究 WAMP,但这是行不通的:

重写引擎开启

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

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

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

还有其他方法可以从 url 中删除“public”,但我想了解为什么这种方法对我不起作用,人们经常在他们的帖子中关注。我的网址是:http://localhost/laravel/(目录:d:/wamp/www/laravel)

谁能帮助我理解为什么这种流行的方法对我不起作用?他们在 Laravel 内部路由中是否有任何问题,因为我认为我的 htaccess 工作正常?

非常感谢。

【问题讨论】:

  • 创建虚拟主机

标签: laravel


【解决方案1】:

很抱歉,这不是您想要的,但是...与其重写路径,不如转到您的 Apache 配置并更改您的目录,使其也包含 /public。这样你就可以从 URL 中去掉现在需要的 public。我知道这不是您问题的答案,所以请不要投反对票。不过,它应该可以解决您的问题。

【讨论】:

    【解决方案2】:

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

    对您来说最简单的情况可能是更改 RewriteRule 以不捕获 laravel 目录。

    例如:

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

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

    或者,(更准确地说)你应该在你的 apache 配置中设置一个虚拟主机,以便在虚拟主机的根目录中服务 laravel 应用程序(按照它的设计)或者你可能会更好从长远来看,使用Laravel Homestead 作为预配置的开发环境。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-04
      • 2016-07-30
      • 2021-09-27
      • 2015-10-11
      • 2015-01-14
      • 2020-06-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多