私はこれで立ち往生しています.Webサーバー分野での私のスキルは貧弱です...
mod_wsgi と mod_rewrite で実行されている Apache2 のプロキシとして機能する Nginx があります。私がやりたいことは、すべての URL を www.example.com から example.com に書き換えることです。つまり、サービスを提供する前に、各 URL リクエストから www の部分を取り除きます。これは、さまざまな conf ファイルのレイアウトです。
=== /etc/nginx/sites-enabled/example.com ===:
=== /etc/apache2/sites-enabled/example.com ===:
=== /home/nabuco/public_html/example.com/example/apache/example.wsgi ===:
私の古いセットアップでは、mod_python を実行している Apache2 があり、次のように .htaccess ファイルを配置するだけで済みました。
Options -Indexes
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
それは完璧に機能しました。
しかし、同じ .htaccess ファイルを /home/nabuco/public_html/nomadblue.com/nomadblue/apache/.htaccess に入れてみました。http://example.com/やhttp://example.com/whateverのように、先頭の www を付けずにリクエストをキャストすると、すべてうまくいきます。ただし、 http://www.example.com/の www バージョンを試すと、次の場所にリダイレクトされます。
http://example.com/example.wsgi/
代わりにnginxから書き換えルールを実行する必要がありますか? 私もそれを試して、これをnginx confファイルに追加しました:
rewrite ^/(.*) http://example.com/$1 permanent;
しかし今、私はFirefoxが「循環ループ」と呼んでいるものを手に入れています...
では、誰がこれを (些細なことだと思いますが) 取り上げることができますか?
前もって感謝します、
ヘクター