4

我在这里有点疯狂,因为我已经浪费了两个小时来为 laravel 框架启用我的干净 URL。

我在 Mac 上并且有 XAMPP 设置。Loadmodule mod_rewrite 被注释掉并且 php_info() 表示 mod_rewrite 模块已加载。

我在 laravel 框架的公共文件夹中的 .htaccess 文件包含清理 URL 的代码(如他们网站上所述),但是当我浏览 domain.com/account 时,它仍然给我一个 404。

laravel 框架文件夹作为虚拟主机运行。

怎么可能,有问题?!

<IfModule mod_rewrite.c>
     RewriteEngine on

     RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{REQUEST_FILENAME} !-d

     RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
4

1 回答 1

9

确保Loadmodule mod_rewrite未注释。

确保您为虚拟主机设置了适当的 AllowOverride 以允许 .htaccess 执行其操作。

一个好的指令的例子是:

<Directory "/some/absolute/path/htdocs">
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride AuthConfig FileInfo
Order allow,deny
Allow from all
</Directory> 

.htaccess 对于您正在尝试做的事情,一个很好的模式是:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

非常接近你正在做的事情。

重新启动您的 apache 服务器。

于 2012-06-29T19:49:29.547 回答