Heim  >  Artikel  >  PHP-Framework  >  Detaillierte Erläuterung der Nginx-Konfigurationsseite im Laravel-Framework

Detaillierte Erläuterung der Nginx-Konfigurationsseite im Laravel-Framework

不言
不言Original
2018-08-25 17:26:533819Durchsuche

本篇文章给大家带来的内容是关于laravel框架中nginx配置站点的详细讲解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

前言

设置laravel项目的域名站点的时候,需要对nginx做一些对应的重写rewrite配置,用来做相关路由,否则会报404。

nginx.conf配置

server {
    listen 80;
    server_name xxx.com;  #域名
    root /data/www/myProject/blog/public;  #站点目录,请求到laravel项目的public目录
    index index.html index.htm index.php;  #默认请求的文件
    
    location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000; 
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name; 
             
            include        fastcgi_params;
    }
    
    
    location / {
        try_files $uri $uri/ /index.php?$query_string; # 这一句是laravel部署必须的,将index.php隐藏掉
    }

    if (!-d $request_filename)
    {
        rewrite ^/(.+)/$ /$1 permanent;
    }

    # 去除index action
    if ($request_uri ~* index/?$)
    {
        rewrite ^/(.*)/index/?$ /$1 permanent;
    }

    # 根据laravel规则进行url重写
    if (!-e $request_filename)
    {
          rewrite ^/(.*)$ /index.php?/$1 last;
          break;
    }
    location = /50x.html {
          root   html;
    }
}

操作及实例

  1. 对nginx.conf重写站点后,要重启nginx:

    sudo nginx -s reload
  2. 以laravel5.2版本为例,模拟输出hello world,可以在laravel项目中app/Http/routes.php中定义一个hello的路由:

     Route::get('/hello', function(){
         return 'hello world';
     });
  3. 浏览器输入xxx.com/hello即可在浏览器打印出hello world

相关推荐:

nginx下laravel框架rewrite的设置

Nginx中运行PHP框架Laravel的配置文件

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Nginx-Konfigurationsseite im Laravel-Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn