Php 基于子域名,通过NGINX提供静态内容
我试图通过直接从NGINX提供静态内容,而不是请求命中PHP,来提高我运行的站点的页面速度 我的网页路径如下:Php 基于子域名,通过NGINX提供静态内容,php,nginx,Php,Nginx,我试图通过直接从NGINX提供静态内容,而不是请求命中PHP,来提高我运行的站点的页面速度 我的网页路径如下: gamea.com.mysite.com anotherb.net.mysite.com finalc.org.mysite.com 为这些对象生成页面时,它存储在如下路径中: /存储/app/page cache/games/game/gamea_com/1.c /存储/app/page cache/games/anot/anotherb_net/1.c /存储/app/pag
- gamea.com.mysite.com
- anotherb.net.mysite.com
- finalc.org.mysite.com
- /存储/app/page cache/games/game/gamea_com/1.c
- /存储/app/page cache/games/anot/anotherb_net/1.c
- /存储/app/page cache/games/fina/finalc_org/1.c
我感谢任何能帮我的人 第一步是使用正则表达式捕获子域的三个部分,然后将它们粘贴到
root
语句中。使用命名捕获,因为数字捕获可能超出其评估范围。有关详细信息,请参阅
例如:
server {
server_name "~^(?<name1>.{4})(?<name2>.*)\.(?<name3>.*)\.example\.com$";
root /path/to/root/$name1/$name1$name2_$name3;
...
}
map $http_host $mypath {
default "nonexistent";
"~^(?<name1>.{4})(?<name2>.*)\.(?<name3>.*)\.example\.com$" $name1/$name1$name2_$name3;
}
server {
...
root /path/to/root;
location / {
try_files $uri /$mypath$uri =404;
}
}
您可以将
try\u文件拆分为两个location
块,方法是:
root /path/to/root;
location / {
try_files $uri @other;
}
location @other {
try_files /$mypath$uri =404;
}
根据您希望Nginx首先查找的文件交换术语。在location
中使用add_header
语句自定义相应的响应。有关详细信息,请参阅。
位置
可以包含特定的标题Hmm。。。如何设置文件的路径,包括仅为路径中限制为4个字母的部分提取4个字母,例如“/fina/finalc_org/1.c”中的“fina”?$name1
应捕获前4个字母(例如“fina”),$name3
捕获
之后的任何内容(例如:。“org和$name2
捕获之间的位(例如“lc”)。此外,我修复了root
语句中的两个错误。我主要想我可以使用带有“try\u文件”的“location/{”location块,而不需要另一个服务器{}”块?您可以使用映射
并使用try\u files
语句对其进行评估。