2017-09-23 19 views
0

Linux MintでLaravel 5.5.12を使用しています.LAMPスタックを使用しています。 URLからindex.phpを削除します。私のmod_rewrite Apacheモジュールが有効になっています。LaravelのURLからindex.phpを削除します

フォルダにある.htaccessファイルには、次のコードが含まれています。

<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
     Options -MultiViews 
    </IfModule> 

    Options +FollowSymLinks 

    # Redirect Trailing Slashes If Not A Folder... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_URI} (.+)/$ 
    RewriteRule^%1 [L,R=301] 

    # Handle Front Controller... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 

    # Handle Authorization Header 
    RewriteCond %{HTTP:Authorization} . 
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
</IfModule> 

私はindex.phpにLaravelのルートフォルダにserver.phpというの名前を変更し、Laravelのルートフォルダにパブリックディレクトリから/ .htaccessファイルをコピーします。しかし、それは動作していません。

私は.htaccessファイル

<IfModule mod_rewrite.c> 

    # Turn Off mod_dir Redirect For Existing Directories 
    DirectorySlash Off 

    # Rewrite For Public Folder 
    RewriteEngine on 
    RewriteRule ^(.*)$ public/$1 [L] 

</IfModule> 

にコードの下に置かしかし、これは働いていません。

誰でもこの点で私を助けることができますか?

+2

"Laravelルートフォルダのserver.phpの名前をindex.phpに変更し、.htaccessファイルを/ publicディレクトリからLaravelルートフォルダにコピーしました。"私は心配しています。パブリックフォルダを指すようにWebサーバーを構成していないのはなぜですか? – sisve

答えて

1

変更したものをデフォルトに戻します。

あなたのapache仮想ホスト設定では、DocumentRootが正しいことを確認してください(これは/ var/www/html/laravelproject/publicのようなものです)。

パブリックフォルダ内の.htaccessファイルを変更する必要はありません。これは、index.phpを削除するためのURLを書き換えます。ただし、一部の環境では、パブリックフォルダ内の.htaccessに

RewriteBase /laravelproject 

を追加する必要がありました。

関連する問題