2016-07-25 3 views
1

У меня есть проект Laravel 5, информация о персонале может быть доступна из test.com/staffs, но я хочу изменить URL-адрес на test.com/test/index.php/staffs, у меня есть попробовал группу Laravel Route с помощью «test/index.php /», но laravel не поддерживал «точку» в маршруте, как я могу это сделать?Nginx Laravel Route as Codeigniter

следующее моя часть nginx.conf

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

     location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ { 
      expires  max; 
     } 

     location ~ [^/]\.php(/|$) { 
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
      if (!-f $document_root$fastcgi_script_name) { 
       return 404; 
      } 

      fastcgi_pass 127.0.0.1:9006; 
      fastcgi_index index.php; 
      include   /etc/nginx/fastcgi_params; 
     } 
    } 
+0

Возможно, вам не хватает 'fastcgi_split_path_info^(. +? \. Php) (/.*) $;'. См. [Этот документ] (https://www.nginx.com/resources/wiki/start/topics/examples/phpfcgi/). –

+0

Вы пытались префикс вашего маршрута? \t 'Route :: группа ([ 'префикс' => 'тест/index.php'], функция() { \t \t/* маршрут здесь ... */ \t});' – shempignon

+0

shempignon: Laravel не поддерживал точку в маршруте :: групповой префикс – Geeks

ответ

0

Я думаю Рикард Смит мог бы правый !! Ниже приведены, наконец, код

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

location ~ \.php$ { 
    fastcgi_split_path_info ^(.+\.php)(/.+)$; 
    fastcgi_pass 127.0.0.1:9006; 
    fastcgi_index index.php; 
    include /etc/nginx/fastcgi_params; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 

    fastcgi_intercept_errors off; 
    fastcgi_buffer_size 16k; 
    fastcgi_buffers 4 16k; 
    fastcgi_connect_timeout 300; 
    fastcgi_send_timeout 300; 
    fastcgi_read_timeout 300; 
} 

Затем вы можете использовать Route Group префикс с «точки» в настоящее время, спасибо Rickard Смит и shempignon Помощь !!