在 Nginx 中重写某个 URL,以便另一个应用程序可以为其提供服务

在 Nginx 中重写某个 URL,以便另一个应用程序可以为其提供服务

我有一个配置文件我的域名这是由 Drupal 提供的。问题是这个重写规则控制了所有请求:

if (!-e $request_filename) {
   rewrite ^/(.*)$ /index.php?q=$1 last;
}

我想做的是mydomain.com/about_me指向我用 Rails 编写的另一个应用程序。

目前,Drupal 在端口 9000 上使用 PHP CGI 提供服务。我尝试在 Nginx 配置中添加如下行:

location /about_me {
   proxy_pass $scheme://127.0.0.1:3000;
}

感谢您的建议。

答案1

为 Rails 和 Drupal 路径创建单独的位置块:

location /about_me {
    proxy_pass $scheme://127.0.0.1:3000;
}

location / {
    if (!-e $request_filename) {
        rewrite ^/(.*)$ /index.php?q=$1 last;
    }
}

相关内容