首先,您不应该自定义#BEGIN WordPress和#END WordPress之间的任何内容,这不是一个好的做法。您应该在WP规则之上添加自己的规则。你也应该使用一些标志,比如“L”。
# BEGIN Custom
<IfModule mod_rewrite.c>
Options All -Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}/$1 [NC,R=301,L]
</IfModule>
# END Custom
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
此外,您应该使用中的常量来定义WP站点URL,而不是通过admin定义WP站点URL
wp-config.php
. 以下是您可以利用的片段:
$protocol = ! empty( $_SERVER[\'HTTPS\'] ) ? \'https://\' : \'http://\';
define( \'WP_HOME\', $protocol . \'yoursite.com\' );
define( \'WP_SITEURL\', WP_HOME );
有关详细信息:
https://codex.wordpress.org/Changing_The_Site_URL