Expressでrobots.txtを処理する最もスマートな方法は何ですか?
2023-08-27 03:05:05
質問
現在、Express(Node.js)で構築されたアプリケーションに取り組んでいますが、異なる環境(開発、本番)で異なるrobots.txtを処理する最もスマートな方法を知りたいと思っています。
これは私が今持っているものですが、私はこの解決策に納得していません、私はそれが汚いと思っています。
app.get '/robots.txt', (req, res) ->
res.set 'Content-Type', 'text/plain'
if app.settings.env == 'production'
res.send 'User-agent: *\nDisallow: /signin\nDisallow: /signup\nDisallow: /signout\nSitemap: /sitemap.xml'
else
res.send 'User-agent: *\nDisallow: /'
(注:CoffeeScriptです)
もっといい方法があるはずです。あなたならどうしますか?
ありがとうございます。
どのように解決するのですか?
ミドルウェアの関数を使用します。こうすることで、robots.txtはセッションやCookieParserなどの前に処理されるようになります。
app.use('/robots.txt', function (req, res, next) {
res.type('text/plain')
res.send("User-agent: *\nDisallow: /");
});
エクスプレス4で
app.get
は表示順に処理されるようになったので、それを利用すればよいでしょう。
app.get('/robots.txt', function (req, res) {
res.type('text/plain');
res.send("User-agent: *\nDisallow: /");
});
関連
-
[解決済み】mongoError: トポロジーが破壊されました
-
[解決済み] -saveと-save-devの違いは何ですか?
-
[解決済み] npm installの-saveオプションは何ですか?
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] Node.jsのConnect、Express、「ミドルウェア」って何?
-
[解決済み] Expressで"? "の後にあるGETパラメータにアクセスするにはどうすればよいですか?
-
[解決済み] nodeやExpressを使用してJSONを返す正しい方法
-
[解決済み] Expressのパラメータ "next "は何に使うのですか?
-
[解決済み】Expressで完全なURLを取得する方法は?
-
[解決済み】NodeJS / Express: "app.use "とは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"npm update -g" の後に "Cannot find module 'npmlog'" というエラーが発生する。
-
[解決済み】MongooseでEnumを作成し使用する方法
-
[解決済み】NPMインストールエラー:解析中の予期せぬJSON入力の終了 '...nt-webpack-plugin": "0'' 付近。
-
[解決済み】E11000重複キーエラー mongodb mongooseのインデックス
-
[解決済み] bodyParser は非推奨です express 4
-
[解決済み] Expectアサーションの型エラー -> expect(...).toExistは関数ではない
-
[解決済み] create-react-app、インストールエラー("コマンドが見つからない")。
-
[解決済み] express は `body-parser deprecated undefined extended` としてエラーを投げます。
-
[解決済み] Macでポート3000をロックしているプロセスを見つける(そして殺す)【終了
-
[解決済み] Express.js req.bodyが未定義です。