Laravel快速入门指南路线不起作用

twi*_*igg 35 php laravel laravel-4

好的我是Laravel的新手,所以直接进入文档开始.文档中存在大量漏洞,因此需要花费大量精力和谷歌搜索来填补空白才能获得Laravel设置.我现在已经设置并进入快速入门指南的下一步.我创建了我的路线

Route::get('users', function()
{
     return 'Users!';
});
Run Code Online (Sandbox Code Playgroud)

现在它说:

Now, if you hit the /users route in your web browser, you should see Users!
Run Code Online (Sandbox Code Playgroud)

所以我打了起来:

http://localhost/laravel/users 
Run Code Online (Sandbox Code Playgroud)

但得到404?我试过了

http://localhost/laravel/public/users 
Run Code Online (Sandbox Code Playgroud)

但仍然是404?我按照快速入门指南上的步骤,我错过了什么?

Rub*_*zzo 72

看起来您的Laravel应用程序可通过Apache HTTP别名访问,因为您的URL如下所示:http://localhost/laravel/.如果是这种情况并假设http://localhost/laravel指向您的公共目录,请按照下列步骤操作:

  1. /index.php/在您的情况下,尝试导航到您预期的路线前面:http://localhost/laravel/index.php/users.如果它可以工作(没有404),那么问题在于Apache HTTP的重写模块配置,你应该按照下面的步骤操作.
  2. 编辑文件public/.htaccess.
  3. 在线下RewriteEngine On添加RewriteBase /laravel/.
  4. 尝试导航到现有路线.

基本上,如果你的应用程序驻留在一个别名或虚拟目录(比方说http://localhost/alias),你应该在你的重写规则添加一个条目来重写基本目录alias.

  • 确保启用`httpd.conf`中的`mod_rewrite`.请参见http://stackoverflow.com/a/16864142/1532882. (5认同)
  • 嗨鲁本斯,我想我现在已经接近了.http://localhost/laravel/index.php/users dos不起作用,但是如果我在URL中公开它确实如此工作http://localhost/laravel/public/index.php/users重写库没有'工作,但我猜我必须将/ public目录合并到某个地方? (2认同)

Ham*_*han 5

Rubens 上面已经很好地解释了这个问题,一个更简单的解决方案是通过发出此命令来使用提供的内置 PHP 服务器

php artisan serve --port=8080
Run Code Online (Sandbox Code Playgroud)

注意,我这里使用的是8080端口,你可以省略它。现在你可以通过访问来浏览该网站

localhost/users
Run Code Online (Sandbox Code Playgroud)

它应该有效!