Sha*_*ood 5 nginx regex subdomain virtualhost
我想用 Nginx 做一些事情。假设我有几个用户和一个子域,每个用户在/home/dev/sites/USER_ID. 我想USER_ID.dev.example.com指向那个目录。
我试过制作一个 vhost 文件如下:
server {
listen 80;
server_name ~^(?<site_id>)$.dev.example.com;
root /home/dev/sites/$site_id;
index index.php;
location / {
try_files $uri $uri/ /index.php?$uri&$args;
}
location ~ \.php$ {
try_files $uri =404;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,所有发生的事情是它显示了我的 PhpMyAdmin 安装(显然另一个虚拟主机指向它)。有人能告诉我我做错了什么吗?我有一种感觉,它只是糟糕的 Regex,但我不确定。
Sha*_*den 11
该表达式永远不会匹配,因为$它位于字符串的中间。尝试:
server_name ~^(?<site_id>.+)\.dev\.example\.com$;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14074 次 |
| 最近记录: |