【发布时间】:2018-04-18 03:54:15
【问题描述】:
我已经测试了我的 NGINX 配置,并且可以在 www.site.com 的路径 /srv/public_html 上成功加载我的静态资产、重写等
现在,我要做的是传递可在 www.site.com/us、www.site.com/ca、www.site.com/fr-ca 等访问的虚拟子目录,并具有它们继承了我已有的规则,并且表现得好像文档根是 /src/public_html。
我已尝试附加下面的代码,并且该站点通过根 index.php 传递,但是,我的静态资产在重写中丢失了。
location ~ ^\/((?<currentSite>us|us-es|ca|fr-ca|en-gb|fr|hz-hans|ja)\/) {
try_files $uri $uri/ @rewriteVirtualSubDirectories;
}
location @rewriteVirtualSubDirectories {
rewrite ^\/((?<currentSite>us|us-es|ca|fr-ca|en-gb|fr|hz-hans|ja)\/)? /index.php?args;
}
location ~* \.php$ {
try_files $uri =404; # if reference to php executable is invalid return 404
expires off;
fastcgi_pass php-fpm;
fastcgi_keep_conn on;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
limit_req zone=php burst=20 nodelay;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param UNIQUE_ID $connection.$connection_requests;
fastcgi_param HTTPS $http_x_ssl_offloaded if_not_empty;
}
【问题讨论】:
标签: nginx url-rewriting location subdirectory