之前經過折騰終於配置好了 ssl 證書,然後 301 和偽靜態什麼就需要相應的調整。
因為迷之執著現在用的 LNMPA,需要兼顧 apache 和 nginx 兩份配置:
/usr/local/apache/conf/vhost/wdssmq.com.conf
/usr/local/nginx/conf/vhost/wdssmq.com.conf
/home/wwwroot/wdssmq.com/.htaccess
前兩份在自動生成的基礎上微調就可以。
要點: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)相關_電腦網路_沉冰浮水