请问一下大牛们 Laravel 中这种类型的URL是怎么实现的?

怎么办
  • 125

请问我定义了一个路由 : auth/login
然后访问 127.0.0.1/laravel/public/auth/login 可以正常访问到,但是为什么他不会把auth/login 当成文件夹而进入 public/auth/login 这个文件夹 ?

回复
阅读 2.4k
4 个回答
✓ 已被采纳

public 目录下有个 .htaccess 文件, 里面写有针对该目录的 apache 配置指令, 其中有一条:

RewriteRule ^ index.php [L]

这条规则的意思是将当前路径跳转至URL index.php. 楼主访问的地址最终会跳转至 127.0.0.1/laravel/public/index.php, 然后就由 index.php 执行并完成后续.

具体可参阅:
Apache HTTP Server Tutorial: .htaccess files
laravel install#web-server-configuration

因为这是框架,路由是会进行分发的,当你的http请求进来的时候,首先是去请求public/index.php 在这里会去生成laravel的应用实例,并且加载服务什么的,一旦应用完成引导和所有服务提供者都注册完成, 将会进行路由分发。路由将分发请求给一个路由或控制器,同时运行路由指定的中间件。
参考下这里: https://d.laravel-china.org/d... 希望采纳

关键点在于你在nginx或者apache这边的root 是怎么配置的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏