投稿が半年も抜けちゃいました・・・。いかんですね。皆さまお元気でしたでしょうか?
サイトのドメインを決める際に「www」をつけるかつけないか、少しは考えることがあると思います。今回は、Node.jsで「www」の有り無しで正しくリダイレクトさせる方法をご紹介します。
app.configureの直下に書きます。index.htmlにあたる、app.get ‘/‘以降に書いてしまうと、こちらが先に有効になってしまいますので、app.get群の一番最初に書きましょう。
wwwなしでアクセスがあった時に、wwwありにリダイレクトさせる方法 coffee 1
2
3
4
5
6
7
8
app.get '/*', (req, res, next) -> # req.headresの中にwwwが含まれていれば、 if req.headers.host.match(/^www/) is null # wwwをつけた状態でリダイレクトします。 res.redirect 'http://www.' + req.url else # それ以外は次へ進みます。 next() 記述自体はとても簡単です。よくあるWEBサーバーソフトウェアのApacheですと、.htaccsessに書いて、301リダイレクトしますが、Node.jsの場合は、res.redirectで自動的に301を返すようになっています。今度は逆に、wwwありでアクセスがあった場合に、wwwを取ってリダイレクトする方法です。
wwwありでアクセスがあった時に、wwwを取ってリダイレクトさせる方法 coffee 1
2
3
4
5
6
7
8
app.get '/*', (req, res, next) -> # req.
