用nginx重写laravel查询参数

时间:2016-06-22 12:57:06

标签: laravel nginx url-rewriting

我有一个laravel网络应用程序,充当CMS并在一个应用程序中有几个站点。我使用以下网址访问这些网站:

my-site.com/site/1 - 导致网站1

我想重写NGINX,以便我可以将几个顶级域名指向我们CMS中的各自站点。

my-site-1.com - > my-site.com/site/1

如何实现这一目标?我能找到的所有问题都想将域指向子文件夹,我想将其指向查询参数。

我使用Larave forge + Digitalocean。这是我的配置文件

# FORGE CONFIG (DOT NOT REMOVE!)
include forge-conf/default/before/*; #*/

server {
    listen 80 default_server;
    server_name default;
    root /home/forge/default/public;

    # FORGE SSL (DO NOT REMOVE!)
    # ssl_certificate;
    # ssl_certificate_key;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    index index.html index.htm index.php;

    charset utf-8; 

    # FORGE CONFIG (DOT NOT REMOVE!)
    include forge-conf/default/server/*; #*/

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

        if ($http_host ~ "^(www.)?my-site-1.com$"){
          #I tried adding som conditional rules here
        }
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    access_log off;
    error_log  /var/log/nginx/default-error.log error;

    error_page 404 /index.php;

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    fastcgi_connect_timeout 18000;
        fastcgi_send_timeout 18000;
        fastcgi_read_timeout 18000;
    }

    location ~ /\.ht {
        deny all;
    }
}

# FORGE CONFIG (DOT NOT REMOVE!)
include forge-conf/default/after/*; #*/

0 个答案:

没有答案