web-dev-qa-db-ja.com

Laravel 500内部サーバーエラーを取得

私はlaravel共有ホスティングのプロジェクトを持っていました、そして私の構造アプリは

/home/username

`->fontEndApps ( my laravel apps )`

`->backendApps ( my laravel apps )`

`->public_html`

パブリックhtmlにindex.php、htaccess、adminフォルダーを配置し、adminフォルダーにindex.phpとhtaccessがあります

バックエンドは正常に動作していますが、www.domain.com/segment1またはwww.domain.com/segment1/segment2にアクセスしようとすると、フロントエンドに常に500内部サーバーエラーが発生します。これがフロントエンドとバックエンドのhtaccessファイルです

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options +FollowSymLinks
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

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

この問題を理解するのを手伝ってください

8
user3483754

あなたの問題は。htaccessファイルにあります。 goDaddyではRewriteBaseを設定しないため、。htaccessファイルで指定する必要があります。完全なコードは次のようになります。これは私のlaravelポートフォリオ サイト

 <Limit GET POST PUT DELETE>
#For REST support
       Allow from all
 </Limit>

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

    RewriteEngine On
    RewriteBase / # <------------ This one you missed

    #Just to redirect to www.site.com when only site.com comes
     RewriteCond %{HTTP_Host} !^www\. [NC]
     RewriteRule ^(.*)$ http://www.%{HTTP_Host} [R=301,L]
    #end of codes

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>
8
Sanoob

数時間検索した後、これは問題を解決しました:

/ public_html内のindex.php644の権限があることを確認してください(鉱山は664で、これが内部サーバーエラーの原因でした)。

5
ecairol

.htaccessでこの行をコメント化する必要があります。

#<IfModule mod_negotiation.c>
#    Options -MultiViews
#</IfModule>
4

Vendorフォルダーがサーバーにアップロードされていることを確認してください500エラーが発生する

1