以前、折衷案で SSL 証明書を設定しましたが、301 リダイレクトと仮静的なものを調整する必要があります。
なぜなら、私は LNMPA を使用しており、Apache と Nginx の 2 つの設定を兼ね備える必要があるからです:
/usr/local/apache/conf/vhost/wdssmq.com.conf
/usr/local/nginx/conf/vhost/wdssmq.com.conf
/home/wwwroot/wdssmq.com/.htaccess
最初の 2 つは自動生成されたものを微調整するだけで済みます。
ポイント:http から https へのリダイレクトは Nginx でのみ設定できます。
server
{
listen 80;
# listen [::]:80;
server_name www.wdssmq.com wdssmq.com feed.wdssmq.com;
return 301 https://$host$request_uri;
}
server
{
listen 443 ssl http2;
# listen [::]:443 ssl http2;
server_name www.wdssmq.com wdssmq.com feed.wdssmq.com;
# ……………………
# ……
# ……
}
その他の設定は.htaccess で実現できます:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{http_host} ^feed.wdssmq.com$ [NC]
RewriteCond %{request_uri} !^/feed.php [NC]
RewriteRule ^(.+)$ https://feed.wdssmq.com [L,R=301]
RewriteCond %{http_host} ^feed.wdssmq.com$ [NC]
RewriteCond %{request_uri} !^/feed.php [NC]
RewriteRule . /feed.php [L]
RewriteRule ^feed.asp /feed.php [L]
RewriteRule ^rss.xml /feed.php [L]
RewriteCond %{http_host} !^www.wdssmq.com [NC]
RewriteCond %{http_host} !^feed.wdssmq.com [NC]
RewriteRule ^(.*)$ https://www.wdssmq.com/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+[^/])$ /$1/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
関連記事:
「メモ」Nginx リダイレクト(301)関連_コンピューターネットワーク_沈氷浮水
「折衷」Nginx URL パラメーターの解析とリダイレクト_コンピューターネットワーク_沈氷浮水