gpt4 book ai didi

javascript - 使用 Node.js 路由欺骗 index.php

转载 作者:行者123 更新时间:2023-11-30 12:47:36 30 4
gpt4 key购买 nike

我想用 node.js 重写我的 php 应用程序。我的问题之一是我们有一些用其他语言编写的遗留客户端应用程序直接指向 php 文件。是否可以在快速路由中欺骗 php 文件?

我尝试了以下方法:

app.get('/index.php/', function(req, res){
res.end('test');
});

但输入 {my domain}/index.php/给我

Cannot GET /index.php

我想要的是一个名为 legacy.js 的路由文件,随着时间的推移,随着遗留应用程序的更新,我可以一个一个地删除路由。

为任何帮助干杯,

罗宾

最佳答案

一些建议

建议1

由于路由定义中的尾部斜杠,您从上面的路由收到 404。更改为:

app.get('/index.php', function (req, res, next) {
res.send('PHP route called!');
});

建议2

与其尝试让 Node 处理您的 PHP 文件执行,不如将 nginx/apache 设置为 node 的反向代理?例如,使用 nginx,我们可以同时运行 PHP 脚本和 Node 后端服务器:

upstream node {
server localhost:3000;
}

server {
listen 8080;
server_name localhost;

root /path/to/root/directory;
index index.php;

# Here we list base paths we would like to direct to PHP with Fast CGI
location ~* \/tmp|\/blog$ { {
try_files $uri $uri/ /index.php;
}

location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}

location ~ /\.ht {
deny all;
}

# Here we set a reverse proxy to upstream node app for all routes
# that aren't filtered by the above location directives.
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;

proxy_pass http://node;
proxy_redirect off;
}
}

这使您可以在同一域中同时运行 PHP 和 Node ,而无需为每个 PHP 脚本的执行 fork 子进程而头疼——更不用说这会对您的计算机产生内存影响了。

关于javascript - 使用 Node.js 路由欺骗 index.php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21992347/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com