nginx - 使用 nginx 将 url 重写为子域,使其可以通过两者访问

标签 nginx

基本上我有一个包罗万象的服务器块,比如 *.example.com .我要两个somename.comsomename.example.com工作(即 somename.com/whateversomename.example.com/whatever 通过相同的服务器块并导致相同的结果)所以没有重定向。可能有几个 url 需要匹配到不同的子域,所以也许 map可能是最好的方法?我不确定,希望得到有关此事的任何指导!

编辑:只有一个根处理所有内容(并且应用程序使用子域作为重要输入),但它需要一个子域,这就是重写域以便子域如此重要的原因。

最佳答案

map 是个好主意,但您可能不需要它。如果您采用约定,其中 somename是您的工作目录的名称,您可以使用命名捕获作为变量根。以下正则表达式 server_name指令应该匹配 abc.example.comabc.com :

server {
    server_name  ~^(?<somename>[^\.]+)(\.example)?\.com$;
    root /var/www/$somename;
}

关于nginx - 使用 nginx 将 url 重写为子域,使其可以通过两者访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34519667/

相关文章:

django - 如何使用 Nginx、docker-compose、django 修复 : Domain name not working in digital ocean's droplet.

ssl - NGINX - Godaddy - SSL

javascript - Wordpress 和 Varnish 破坏 loadscript.php 的问题

php - 安装tomcat 8后Nginx 502 Bad Gateway错误

azure - 无法访问 AKS 入口的公共(public) IP

python - 使用 Comet(长轮询)时 uwsgi 进程是否卡住了?

linux - HTTP2:异域同IP,多连接还是单连接?

nginx - 无法使用 Graphite 配置 grafana

c - nginX自定义HTTP授权,使用脚本来决定

php - 运行默认 laravel 应用程序时出现 502 Bad gateway 而其他 php 文件工作