私のクライアントは、301 リダイレクトを使用して、サイトに「www」サブドメインを強制したいと考えています。したがって、「example.com/something」は「www.example.com/somthing」などに解決されます。
私がやろうとしているのは、これを vhost ファイルに追加するだけです。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName example.com
ServerAlias www.*
DocumentRoot /data/apps/example.com/current/public
RailsBaseURI /
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule ^ http://www.example.com%{REQUEST_URI} [L,R=301]
</VirtualHost>
また、次の方法で mod の書き換えが有効になっていることも確認しました。
sudo a2enmod rewrite
sudo /etc/init.d/apache2 force-reload
私の現在の努力の結果は、基本的に成功しているように見えます。Apache が再起動し、書き換えが行われないことを除いて、すべてが期待どおりに機能します。したがって、「www.example.com」と「example.com」の両方が解決されます。ブラウザが「www.example.com」にリダイレクトされるべきときにリダイレクトされません。何か案は?構成をリロードしてApacheを再起動しようと何度か試みましたが、書き換えルールが機能していないようです。.htaccess ファイルではなく vhost に配置することで、間違った場所に設定しているのでしょうか?
ここでのアドバイスは役に立ちます。私は完全に困惑しています。