Laravel 4 .htaccess不重写URL

Dal*_*ore 14 .htaccess laravel laravel-4

所以我刚刚升级到Laravel 4,我正在新服务器上进行设置.默认/路由正常,但每个其他路由返回404错误.在尝试时index.php/route,我得到所请求的数据,这意味着.htaccess无效.

是的,AllowOverride is set to ALL.
是的,我enabled the mod_rewrite module.

我尝试了以下3 .htaccess组合:

<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

和:

<IfModule mod_rewrite.c>
   RewriteEngine on

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

   RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

和:

Options +FollowSymLinks
RewriteEngine On

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

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Run Code Online (Sandbox Code Playgroud)

并且,在服务器重新启动之后,等等,它们都没有工作,我仍然返回404错误.

注:我使用的几个域具有相同laravel安装,所以我的公用文件夹是public/site1,public/site2,public/site3.但是,我将公共路径路由到这些文件夹,所以我不确定这是不是问题.

有什么想法吗?

Dal*_*ore 21

我忘了在httpd.conf中编辑vhost.Derp,derp.添加:

<Directory "/var/www/public/site1">
    AllowOverride All
</Directory>
Run Code Online (Sandbox Code Playgroud)

到每个网站的vhost文件,它工作得很漂亮.Derp derp.