2016-07-19 8 views
1

Я работаю на сайте laravel V5.1.11, который размещен на AWS EC2 ubuntu с сервером ngnix. Я успешно настроил сайт, но моя внутренняя страница не работает.внутренние страницы laravel не работают на AWS EC2 Nginx

Config является:

server { 
    listen 82; 
    server_name www.example.com; 
    return 301 https://$server_name$request_uri; 
} 

server { 
    listen 83; 
    server_name www.example.com; 
    root /home/in4matic/example-website-dev/public; 



    location/{ 
      index index.php; 
      try_files $uri $uri/ /index.php?q=$uri&$args; 

    } 


    location ~* \.php$ { 
     fastcgi_index index.php; 
     fastcgi_pass 127.0.0.1:9000; 
     include   fastcgi_params; 
     #fastcgi_split_path_info ^(.+\.php)(/.+)$; 
     fastcgi_param PATH_INFO $fastcgi_path_info; 
     #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     fastcgi_param SCRIPT_FILENAME $document_root/index.php; 
     #fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; 
     fastcgi_param SCRIPT_NAME  $fastcgi_script_name; 

    } 
} 

Как я могу исправить это.

+0

Вам необходимо включить конфигурацию nginx. Вы также можете добавить файл .htaccess. Перенос приложения laravel из общего хостинга является довольно сложным, потому что вам нужно удалить некоторые «настройки», которые были сделаны для того, чтобы запустить larvel на общем хосте. –

+0

, где мне нужно включить 'nginx configuration' –

+0

В вашем вопросе, чтобы увидеть, что может быть неправильным, и предоставить решение вашей проблемы или некоторые рекомендации. –

ответ

0

Перемещение приложения laravel из apache в nginx не требует много изменений, но поскольку laravel использует файл .htaccess для перезаписи url, который не будет работать в nginx, вам необходимо изменить файл конфигурации nginx, чтобы nginx мог переписать URL-адрес. вот пример моего конфигурационного файла:

server { 
    listen  80; 
    server_name your-website.com; 

    # note that these lines are originally from the "location /" block 
    root /usr/share/nginx/html; 
    index index.php index.html index.htm; 

    location/{ 
     try_files $uri $uri/ /index.php?$args; 
    } 

    location ~ \.php$ { 
     try_files $uri /index.php =404; 
     fastcgi_split_path_info ^(.+\.php)(/.+)$; 
     fastcgi_pass 127.0.0.1:9000 # Keep this as per your old config; 
     fastcgi_index index.php; 
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     include fastcgi_params; 
    } 

} 

Я использую эту конфигурацию для всего моего приложения laravel.

и убедитесь, что у каталога хранения есть соответствующее разрешение.