2013-06-04 4 views
13

私はLaravel 4にアップグレードしました。新しいサーバーで設定しています。デフォルトの/ルートは正常に動作しますが、他のすべてのルートは404エラーを返します。 index.php/routeを試すと、要求されたデータが得られます。つまり、.htaccessが機能していません。例えば、AllowOverride is set to ALL
はい、I enabled the mod_rewrite moduleです。Laravel 4 .htaccess URLを書き換えない

<IfModule mod_rewrite.c> 
    Options -MultiViews 
    RewriteEngine On 

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

と::

<IfModule mod_rewrite.c> 
    RewriteEngine on 

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

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

と:

は、私は、次の3つの.htaccessの組み合わせを試してみました

Options +FollowSymLinks 
RewriteEngine On 

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

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

とを、サーバの再起動後に、というように、いずれも動作していませんが、私はまだ404エラーを返しています。

注:同じlaravelインストールで複数のドメインを使用しているため、私のパブリックフォルダはpublic/site1,public/site2,public/site3です。しかし、私はパブリックパスをこれらのフォルダにルーティングしているので、それが問題であるかどうかはわかりません。

どのような考えですか?

+0

サーバーとは何ですか? xAMP、Apache?書き換えモジュールをロードしましたか?あなたのhttpd.confでこの行をチェックしてください: 'LoadModule rewrite_module modules/mod_rewrite.so' –

+0

@AlexandreButynski Apache。はい、書き換えモジュールを読み込みました。私は上記のことを述べました。 AllowOverrideはすべてです。何が原因なのか分かりません。 –

答えて

20

httpd.confでvhostsを編集するのを忘れました。 Derp、derp。 を追加しました:サイトのバーチャルホストファイルのそれぞれに

<Directory "/var/www/public/site1"> 
    AllowOverride All 
</Directory> 

、それは美しく働きました。 Derp derp。