Как мне установить другие приложения вместе с Laravel?

Я создаю веб-сайт в Laravel 5.2 и вместо того, чтобы создавать форум с нуля, я хочу установить такой, как SMF.

Laravel в настоящее время находится в корневом каталоге моего веб-сервера, и я хочу сохранить его там, так как я хочу установить SMF в папку.

Например: www.example.com/smf

Я думаю установить его в Laravel's /public папки, но я боюсь, что они будут конфликтовать друг с другом. Это /publicпапка - правильное место для установки SMF и нужно ли использовать маршрут для указания папки SMF?

Сервер: СДЕЛАТЬ дроплет через Laravel Forge

2 ответа

Решение

Вам нужно добавить пользовательские правила для папок, которые вы хотите использовать, перед правилами, связанными с Laravel:

location /smf/index.php(/.*)?$ {        
    fastcgi_split_path_info ^(/smf/index.php)(/.+)$;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_read_timeout 1000;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    include fastcgi_params;
}
location /smf/ { 
    if (!-e $request_filename) {
            rewrite ^.*$ /smf/index.php last;    
        }
    try_files $uri $uri/ smf/index.php?args; 
}

Пожалуйста, посмотрите образец конфигурационного файла nginx здесь.

Вы можете использовать Nginx для перенаправления www.example.com/smf к вашей установке SMF. Для этого добавьте это в свой server блок:

location /smf {
    # nginx will concatenate the string above with the root value
    # so your SMF files should be in "/path/to/smf/parent/dir/smf".
    # Make sure that Nginx can access them.
    root "/path/to/smf/parent/dir";

    # change this config to suit your needs
    index  index.php index.html index.htm;

    location ~ \.php$ {

        # Here use the same config from the server block that allows you
        # to execute PHP scripts
        fastcgi_pass   127.0.0.1:9123;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

Несколько вещей, которые я должен добавить:

  • Сделайте резервную копию файла конфигурации перед редактированием.
  • Хотя я попробовал приведенный выше код (и он работает на моей машине ™), я должен сказать, что я не эксперт по Nginx.
Другие вопросы по тегам