【问题标题】:Laravel 4 htaccess vhost NotFoundHttpException issue on wampWamp 上的 Laravel 4 htaccess vhost NotFoundHttpException 问题
【发布时间】: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 开启了吗?
  • 另外,最好删除路径中GoogleDrive 之间的空格。可能会导致一些问题...顺便说一句,您是否尝试过备用 .htaccess? four.laravel.com/docs/installation在底部
  • 是的,服务器上启用了 mod_rewrite。我尝试了不同的位置(c:/project/public),做同样的事情。备用 .htaccess 也没有运气。仍然是 Laravel 4 抛出的 NotFoundHttpException。
  • 请问你能把Route函数的内容发布到你的Home控制器吗?

标签: php apache .htaccess wamp laravel


【解决方案1】:

您是否尝试过,来自Laravel Docs(请参阅安装 -> 漂亮的 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),但我不使用虚拟主机。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-28
    • 2013-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-25
    • 1970-01-01
    相关资源
    最近更新 更多