Dies macht mich verrückt ... Ich habe eine Route in meinem Router-Definition hinzugefügt, um eine Klartext robots.txt-Datei zu dienen. Ich glaube nicht, dass ich vor der Route /robots.txt einen Catchall habe, da die anderen Routen nach/mobile und/map wie erwartet funktionieren. Auf meinem lokalen Rechner funktioniert die Datei /robots.txt einwandfrei. Nur wenn diese Route auf dem Server bereitgestellt wird, funktioniert diese Route nicht.robots.txt nicht über node.js Routen senden senden Klartext
router.get('/', function (req, res) {
res.render('index');
});
router.get('/mobile', function (req, res) {
res.render('mobile');
});
router.get('/map', function (req, res) {
res.render('map');
});
router.get('/robots.txt', function (req, res) {
res.type('text/plain');
res.send('User-agent: *');
});
Diese gut auf meinem lokalen Rechner funktioniert jedoch nicht, wenn
Error: Not Found
at /usr/share/geolytix/app.js:28:13
at Layer.handle [as handle_request] (/usr/share/geolytix/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/usr/share/geolytix/node_modules/express/lib/router/index.js:312:13)
at /usr/share/geolytix/node_modules/express/lib/router/index.js:280:7
at Function.process_params (/usr/share/geolytix/node_modules/express/lib/router/index.js:330:12)
at next (/usr/share/geolytix/node_modules/express/lib/router/index.js:271:10)
at /usr/share/geolytix/node_modules/express/lib/router/index.js:618:15
at next (/usr/share/geolytix/node_modules/express/lib/router/index.js:256:14)
at Function.handle (/usr/share/geolytix/node_modules/express/lib/router/index.js:176:3)
at router (/usr/share/geolytix/node_modules/express/lib/router/index.js:46:12)
Meine erste Vermutung war, zu http://geolytix.co.uk/robots.txt eingesetzt, dass dies etwas mit dem Proxy von nginx zu meinem Knoten-Server kann zu tun hat, zugreifen, aber ich die Website direkt an die IP-Adresse gehen. Die Route robots.txt schlägt jedoch fehl.
http://139.59.161.58:3000/robots.txt
Edit:
Dies ist Zeile 28 meiner app.js
Sind Sie sicher, dass Sie Ihren Node-Server nach dem Hinzufügen dieser Route neu gestartet haben? Versuchen Sie, '/ robots.txt' direkt von Express (auf Ihrem Server) anzufordern, anstatt über nginx zu gehen. – robertklep
Ich nehme an, es ist ein statisches Dateiabhörproblem. Kannst du nginx config, speziell 'location' part in' server' anzeigen? – Nevertheless
Es ist nicht die Nginx-Einstellung. Ich kann die Website von der IP-Adresse öffnen, aber die robots.txt wird nicht geöffnet. http://139.59.161.58:3000/robots.txt –