1. ホーム
  2. .htaccess

[解決済み】.htaccessで非wwwをwwwにリダイレクトする。

2022-04-10 23:34:49

質問

.htaccessファイルにこのように記述しています。

RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) http://www.example.com$1 [R=301,L]

しかし、ルート上のファイルにアクセスするたびに http://example.com/robots.txt にリダイレクトされます。 http://www.example.comrobots.txt/ .

に正しくリダイレクトされるようにするには、どのように修正したらよいでしょうか。 http://www.example.com/robots.txt ?

解決方法は?

設定をこのように変更する(スラッシュを追加する)。

RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule (.*) http://www.example.com/$1 [R=301,L] 

あるいは、以下のような解決策(提案者 アブシディック・ライブ ) は、どのドメインでも動作します。

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

httpとhttpsに対応し、プロトコルの選択を保持する必要がある場合は、以下を試してみてください。

RewriteRule ^login\$ https://www.%{HTTP_HOST}/login [R=301,L]

を置き換える場所 logincheckout.php またはHTTPSをサポートする必要があるURLのいずれかになります。

しかし、これは悪い考えだと私は思います。理由としては こちらの回答をご覧ください .