我在这里变得有点疯狂,因为我已经浪费了两个小时来为laravel框架启用我的干净网址。
我在Mac上并设置了XAMPP。 Loadmodule mod_rewrite已注释掉,php_info()表示已加载mod_rewrite模块。
laravel框架的公共文件夹中的.htaccess文件包含用于清理网址的代码(如其网站上所述)但是,当我浏览域名网址时,它会给我404.
laravel框架文件夹作为虚拟主机运行。
可能是什么,这是错的?!
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
答案 0 :(得分:9)
确保取消注释Loadmodule mod_rewrite
。
确保为vhost设置了适当的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服务器。