3

我已经在 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/。当我尝试从 访问默认 Home 控制器时project/index.php?home,它也可以正常工作。但是,当我尝试从 访问默认的 Home 控制器时project/home/,我得到了NotFoundHttpExceptionLaravel 4 抛出的错误。

我正在使用.htaccessLaravel 4 提供的默认文件:

<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

在没有 Laravel 4 抛出的情况下从 URL 中删除 index.php 的正确方法是什么NotFoundHttpException

4

1 回答 1

0

您是否从Laravel 文档中尝试过这个(请参阅安装 -> 漂亮的 URL)?

“如果 Laravel 附带的 .htaccess 文件不适用于你的 Apache 安装,试试这个:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

这似乎对我有用。我也在 Win7 64 位等上使用 WAMP(实际上是 XAMPP),但我不使用虚拟主机。

于 2013-05-31T07:37:52.940 回答