许多人认为,下面的htaccess可以从url中删除“public”。但我正在研究WAMP,但这不起作用:
重新启动发动机
RewriteRule ^(.*)$ public/$1 [L]
这显示了来自Laravel框架的以下错误消息:
很抱歉,找不到您要查找的页面。1/1在RouteCollection中找不到HttpException。php第161行:
还有其他方法可以从url中删除“public”,但我想了解为什么这种方法在我这方面不起作用,因为人们在他们的帖子中经常使用这种方法。我的网址是:http://localhost/laravel/(目录:d:/wamp/www/laravel)
有谁能帮助我理解为什么这种流行的方法对我不起作用?我认为我的htaccess工作正常,他们在Laravel内部路由中是否存在任何问题?
非常感谢提前。
您的路由器没有拾取重定向路径,因为您的laravel安装是Web服务器中的一个子目录,而重写规则^(.*)$
正在拾取包含/laravel
的整个路径。这将被附加到public/
,因为它是在$1
中捕获的。
最简单的情况可能是修改RewriteRule以不捕获laravel
目录。
如:
requireRule^laravel/(.*)$public/$1[L]
您可能需要也可能不需要正斜杠^/laravel/(.*)$
或者,(更正确地说)您应该在apache配置中设置一个虚拟主机,以便在虚拟主机的根目录中为laravel应用程序提供服务(如设计的那样),或者从长远来看,您最好使用laravel Homestead作为预配置的开发环境。
很抱歉这不是你想要的,但是。。。与其重写路径,不如转到Apache配置并更改目录,使其也包含/public。这样,您就可以从URL中删除现在必需的public。我知道这不是你问题的答案,所以请不要投反对票。然而,它应该能解决你的问题。
问题内容: 我知道这是一个非常受欢迎的问题,但是我一直无法找到适用于Laravel 5的解决方案。我已经尝试了很长时间从Codeigniter进行迁移,但是这种复杂的安装过程使我望而却步。 我不想运行虚拟机,在项目之间切换时这似乎很尴尬。 我不想将我的文档根目录设置为公用文件夹,这在项目之间切换时也很麻烦。 我已经尝试过.htaccess mod_rewrite方法 这只是在74.10行中给了我一
问题内容: 我要在我的一个项目中对分页进行ajax化,并且由于我希望用户能够为当前页面添加书签,因此我通过哈希附加页面编号,例如: 多数民众赞成在它工作正常,一切,除了,当页码为1,我不想成为,我只是希望它成为 我尝试了以下变体: 的作品,但网址现在就像,我不很哈希那里。 根本不使用window.location.hash,但是当用户从第3页回到第1页时,他位于第1页,但是url仍然是因为我没有弄
问题内容: 我要在我的一个项目中对分页进行ajax化,并且由于我希望用户能够为当前页面添加书签,因此我通过哈希附加页面编号,例如: 并且多数民众赞成在它工作正常,一切,除了,当页码为1时,我不想成为,我只是希望它成为 我尝试了以下变体: 的作品,但网址现在就像,我不很哈希那里。 根本不使用window.location.hash,但是当用户从第3页回到第1页时,他位于第1页,但是url仍然是因为我
这是我的Laravel 5.2文件夹结构 在Laravel的根文件夹laravel下,我添加了一个带有以下代码的文件: 现在,当我在浏览器中打开project时,会出现以下错误: 对不起,找不到您要找的页面。"在RouteCollection.php行161中的NotFoundHttp异常:" 我正在使用XAMPP。为什么我会犯这个错误?如何使用此方法从URL中删除public?
问题内容: 我正在尝试从Angular 2中的网址中删除#号,但找不到如何在不产生任何问题的情况下删除它的任何好的解释。 我记得在AngularJS 1上添加起来比较容易 如果您能告诉我这是否是一种好的做法(删除#)或可能会影响应用程序的SEO(或对其进行改进),我也将不胜感激。 PS:我正在将Angular 2与打字稿一起使用 问题答案: 正如@Volodymyr Bilyachat指出的那样,
问题内容: 我正在使用scrapy抓取一个似乎在每个URL末尾向查询字符串添加随机值的网站。这将爬网变成一种无限循环。 我如何抓紧忽略URL的查询字符串部分? 问题答案: 示例代码: 输出示例: