1

これが私の現在の.htaccessファイルです:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php
</IfModule>

すべての http リクエストを https にリダイレクトし、すべての www リクエストを非 www にリダイレクトし、すべてのファイル リクエストを index.php にリダイレクトしたい

例えば:

http://www.example.comからhttps://example.com

https://www.example.comからhttps://example.com

http://example.com/file.phpからhttps://example.com/index.phpへ

wwwの部分を除いてすべてが機能しているようです..何か助けてください。

4

2 に答える 2

1

www部分を扱う追加のルールを追加できます

RewriteCond %{HTTP_HOST} ^www\.(.+)$
RewriteRule ^ https://%1%{REQUEST_URI} [L,R]

は のRewriteCond後のすべてをキャプチャし、それをaswww.で使用します。RewriteRule%1

すべてが期待どおりに機能したら、 に変更できRますR=301

有効にしてテストしない301でください。詳細については、この回答 .htaccess 書き換えルール をデバッグするためのヒント を参照してください。

于 2013-04-25T00:57:15.170 に答える