laravel.dev

设置路由后通过localhost:8000/hi可以访问一个页面。
后来我设置了apache 的VirtualHost,设置DocumentRoot为:网站根目录/public, ServerName为:laravel.dev,然后浏览器登录,可以打开laravel.dev,但是不能打开laravel.dev/hi,
Not Found
The requested URL /hi was not found on this server.
Apache/2.4.7 (Ubuntu) Server at laravel.dev Port 80
请问这是什么原因?
如果这样:laravel.dev/index.php/hi就可以打开/hi页面。

看来是文档中说的这个问题:
"Apache 服务器 Laravel框架通过设置 public/.htaccess 文件去除链接中的index.php。 如果你你的服务器使用的是 Apache,请确保开启 mod_rewrite 模块。 如果框架附带的 .htaccess 文件在你的Apache环境中不起作用,请尝试下面这个版本:
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]"。

开启了Apache mod_rewrite模式,可以访问http://localhost/网站根目录/public/hi,

更换了/public下的.htaccess文件相关内容,重启apache后仍然不能访问laravel.dev/hi。
2楼的办法是打开laravel.dev的方法中的一个设置,不能解决打开laravel.dev/hi的问题。
已邀请:

hutaoseven

赞同来自:

其实localhost就是一个ip:127.0.0.1,那么laravel.dev的ip是什么呢?服务器不知道。
在windows下,C:\Windows\System32\drivers\etc 下有个hosts文件,其中localhost被解析为127.0.0.1。
同样在Ubuntu也有这样一个文件 /etc/hosts, 你试着把laravel.dev 解析为127.0.0.1。
具体方法你百度一下,自己动手丰衣足食。

sujata

赞同来自:

是文档中说的这个问题:
"Apache 服务器
Laravel框架通过设置 public/.htaccess 文件去除链接中的index.php。 如果你你的服务器使用的是 Apache,请确保开启 mod_rewrite 模块。
如果框架附带的 .htaccess 文件在你的Apache环境中不起作用,请尝试下面这个版本:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]"

要回复问题请先登录注册