app.js
var exphbs = require("express-handlebars");
app.engine("handlebars", exphbs({defaultLayout: "layout"}));
app.set("view engine", "handlebars");
app.use("/catalog", require("./routes/catalog"));
więc w moim folderze tras mam katalog wywołań folderów, a następnie mam w nim catalog.js.
W katalogu.js robię
var express = require("express");
var router = module.exports = express.Router();
router.get("/", function(req, res) {
res.render("catalog/index");
});
Działało dobrze, kiedy idę do http://localhost:3000/catalog
ale podczas próby uruchomienia został on wyłączony z układu http://localhost:3000/catalog/
Każdy pomysł, dlaczego?
Odpowiedzi:
1 dla odpowiedzi № 1Istnieje pakiet npm (connect-slash), który instaluje oprogramowanie pośrednie, które doda ukośnik do adresów URL bez niego. Ten proces nazywa się kanonizacją adresów URL.
Jest to lepsze, ponieważ nie wyświetla się podobnych treści dla adresów URL „katalog” i „katalog /”, co byłoby niekorzystne dla SEO (podwójne kary za treść).
Szczegóły pakietu tutaj:
https://www.npmjs.com/package/connect-slashes
Z wiersza poleceń:
npm install connect-slashes --save