【发布时间】:2013-03-19 23:05:31
【问题描述】:
我已经在 WAMP、windows 7 64 位、运行 apache2.4 和 php5.4 上安装了 Laravel 4 的本地副本。我为这个项目设置了一个虚拟主机,如下:
<VirtualHost *:80>
DocumentRoot "c:/Google Drive/project/public"
ServerName project
<directory "c:/Google Drive/project/public">
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</directory>
</VirtualHost>
当我尝试访问project/ 时,一切正常。当我尝试从 project/index.php?home 访问默认 Home 控制器时,它也可以正常工作。但是,当我尝试从 project/home/ 访问默认 Home 控制器时,我得到了 Laravel 4 抛出的 NotFoundHttpException。
我正在使用 Laravel 4 提供的默认 .htaccess 文件:
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
在 Laravel 4 不抛出 NotFoundHttpException 的情况下,从 URL 中删除 index.php 的正确方法是什么?
【问题讨论】:
-
你的 apache 服务器上的 mod_rewrite 开启了吗?
-
另外,最好删除路径中
Google和Drive之间的空格。可能会导致一些问题...顺便说一句,您是否尝试过备用 .htaccess? four.laravel.com/docs/installation在底部 -
是的,服务器上启用了 mod_rewrite。我尝试了不同的位置(c:/project/public),做同样的事情。备用 .htaccess 也没有运气。仍然是 Laravel 4 抛出的 NotFoundHttpException。
-
请问你能把
Route函数的内容发布到你的Home控制器吗?
标签: php apache .htaccess wamp laravel