修复HTTPS上的302重定向错误

时间:2019-03-01 作者:ZWPDev

我的wordpress fresh安装有问题。我正在使用.htaccess 重定向https上的所有流量,但每次我看到302错误页面时。我怎样才能解决这个问题?

这是.htaccess 文件代码

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

Options All -Indexes
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

1 个回复
SO网友:filipecsweb

首先,您不应该自定义#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站点URLwp-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

相关推荐

将旧的固定链接结构重定向到新的in htaccess

我最近把我2个月前博客上的permalink结构改成了一个用户友好的结构,这意味着一大堆404。我希望重定向以下内容:https://example.com/poastname.html 至https://example.com/postname/ 在来到这里之前,我花了几天时间在网上寻找这个重定向,但一直没有找到。推荐的重定向插件不起作用。我只需要一个.htaccess 规则来解决此问题。