2014-01-22 4 views
0

Мы представляем новый раздел на нашем веб-сайте, который использует структуру Laravel. Он помещается в подкаталог, например /newsection. Как настроить nginx.conf, не создавая конфликтов с моими предыдущими правилами перезаписи.Вложенный проект Laravel Nginx Config

Это мой текущий nginx.conf

server { 
     listen 80; 
     server_name localhost www.website.com; 
     root /home/www/website; 
     index index.html index.php; 

     location /newsection/ { 
      rewrite ^/ /newsection/public/index.php last; 
      # this is my attempt at it 
     } 

     location/{ 
      try_files $uri $uri/ @rewrite; 
     } 

     location /php-status { 
      fastcgi_pass unix:/var/run/php-fpm.sock; 
      fastcgi_param SCRIPT_FILENAME $request_filename; 
      include fastcgi_params; 
     } 


     location @rewrite { 
      rewrite ^/([\w_-]+)/?$ /index.php?page=$1 last; 
      rewrite ^/([\w_-]+)/([\w_-]+)/?$ /index.php?page=$1&slug=$2 last; 
      rewrite ^/([\w_-]+)/([\w_-]+)/([\w_-]+)/?$ /index.php?page=$1&slug=$2&pagination=$3 last; 
      } 

     include php.conf; 
    } 

ответ

1

Если это работает, как и большинство структур, я знаю работу, это должно работать

location /newsection/ { 
    try_files $uri $uri/ /newsection/public/index.php$request_uri; 
} 

Если это возвращает 404, попробуйте удалить дополнительный /newsection в резервном УИР try_files

+0

Я не был терпеливым и решил пойти на решение поддомена. Когда я найду время, я проверю ваш ответ. Благодарю. – bukka

0

Попробуйте это для подкатегорий laravelin

location ^~ /laravel { 
alias /var/www/laravel/public; 
try_files $uri $uri/ @laravel; 

location ~ \.php { 
    fastcgi_pass unix:/var/run/php5-fpm.sock; 
    fastcgi_split_path_info ^(.+\.php)(.*)$; 
    include /etc/nginx/fastcgi_params; 
} 
} 


location @laravel { 
    rewrite /laravel/(.*)$ /laravel/index.php?/$1 last; 
} 
Смежные вопросы