前言:

   接触lnmp一键安装包,的确好用,但是我在配置laravel项目的时候,遇到了一些麻烦

问题:

   直接使用lnmp配置了下vhost下的虚拟机目录后,配置的是public目录下,直接访问laravel项目的时候,会出现如下错误:nginx   不能访问或者  not  found

解决:

  上网找了下,原来是要配置下优雅链接:

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

问题:现在laravel项目是可以访问了,但是js,css,图片的一些资源文件不能访问加载,又去找了找,原来http://www.story.com/public/default/css/font-awesome.min.css 

   多了一个public目录,把它去掉就可以访问资源了

  原来代码中也多了个  /public/default/css/........

@section('css')
    <link rel="stylesheet" href="/public/default/css/iCheck/square/blue.css">
@endsection

解决:

 location /public{
             root  $prj_root;
           }

遇到  /public  的url访问时候,直接跳转到项目的根目录下面,而不是public 目录下面

最后:

  就可以访问资源文件了哦!


粘贴下nginx的配置:

 server
    {
        listen 80;
        #listen [::]:80;
        server_name www.story.com;
        index index.html index.htm index.php default.html default.htm default.php;
        set $app_root /var/story/public;
        set $prj_root /var/story;
        root $app_root;

        include index.php.conf;
        #error_page   404   /404.html;
        include enable-php.conf;

    location /public{
             root  $prj_root;
        }
    location / {
                try_files $uri $uri/ /index.php?$query_string;
                  }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
           #expires      30d;
           root $prj_root;
        }
   location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
            root /var/story;   #可以注释掉
        }
  location ~ \.php {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index /index.php;
            fastcgi_split_path_info       ^(.+\.php)(/.+)$;
            fastcgi_param PATH_INFO       $fastcgi_path_info;
            fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include                       fastcgi_params;
        }
     #     location ~ .*\.(js|css)?$
     #    {
     #       expires      12h;
     #  }
        location ~ /\.
        {
            deny all;
        }

        access_log  /home/wwwlogs/story.log.log;
    }


最后提醒下:

  如果

<link rel="stylesheet" href="/public/default/css/iCheck/square/blue.css">
连接的路径没有  /public  的话,可以

location /public{
             root  $prj_root;
        }

注释删除掉

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐