2014-04-23 27 views
5

Tôi đang chạy trang web Laravel của tôi trong máy chủ cục bộ của tôi, hoạt động tốt. Nhưng khi tôi thử chạy trang web của tôi trong máy chủ lưu trữ, tôi nhận được 500 lỗi máy chủ nội bộ? Có phải vì tệp .htaccess của tôi hay I remove public url?Laravel - 500 Lỗi Máy chủ Nội bộ

tập tin .htaccess My

<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
     Options -MultiViews 
    </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> 
+0

Bạn có một số thông tin về điều khiển từ xa và hệ thống cục bộ của mình không? – Stony

+0

ý của bạn là gì? Tôi không đi theo. –

+0

Windows, Mac hoặc Linux? Bạn sử dụng gì trên hệ thống? Nếu bạn loại bỏ mod_negotiation.c thì sao? Và nếu bạn viết lại ít nhất khối mod_rewrite module? Sau đó, bạn có thể shure rằng bạn có một lỗi cú pháp. – Stony

Trả lời

0

Hãy chắc chắn rằng bạn đang sử dụng một phiên bản hỗ trợ PHP và thư mục của bạn có 755 phép.

Bạn cũng có thể kiểm tra tệp nhật ký của Laravel để tìm hiểu thêm một chút về nguyên nhân gây ra lỗi 500. Nếu không có mục nhập nào trong tệp nhật ký, sự cố có thể đến từ .htaccess.

2

Hãy thử điều này trên thiết bị đầu cuối:

sudo chmod -R 755 <your_laravel_project> 

chmod -R o+w <your_laravel_project>/storage 
0

Tôi chạy vào một vấn đề tương tự với nhà cung cấp lưu trữ chia sẻ của tôi. Laravel sử dụng thư mục public cho các tệp có thể truy cập trực tiếp vào trình duyệt của khách truy cập. Đây phải là rootspace trên lưu trữ được chia sẻ.

Sự cố xảy ra khi số index.php trong số /public được gọi và cố gắng truy cập tệp bên ngoài (cấp trên) gốc không gian web. Thông thường điều này không được phép.

Bạn (hoặc nhà cung cấp dịch vụ lưu trữ của bạn) cần thay đổi giá trị open_basedir trong cài đặt php.

On lưu trữ của tôi nó trông như thế này:

{WEBSPACEROOT}{/}{:}{TMP}{/} 

tôi đã thay đổi nó để

{WEBSPACEROOT}{/}{:}{TMP}{/}{:}{WEBSPACEROOT}{/../} 

và nó làm việc.

Các vấn đề liên quan