上周,我将我的网站从HTTP改为HTTPS。
尽管中有301重定向规则.htaccess
, 出于某种原因,所有旧(HTTP)页面都会使用302重定向进行重定向。我找不到这是什么,也没有更改任何插件。我唯一创建的是.htaccess
. 网站url=https://www.janjippe.nl/
以下是我的.htaccess
文件:
#BEGIN Wordpress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteBase /
RewriteRule ^index\\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] </IfModule>
# END WordPress
然而,目前,在检查所有页面时,我只看到302个重定向。如何确保301重定向而不是302重定向到位?
这对private_html
文件夹
这个public_html
文件夹为空,1除外.htaccess
包含以下内容的文件:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.janjippe.nl/$1 [R,L]
<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=31536000"
</IfModule>
# BEGIN WpFastestCache
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
AddDefaultCharset UTF-8
RewriteCond %{HTTP_HOST} ^janjippe.nl
RewriteRule ^(.*)$ http\\:\\/\\/www\\.janjippe\\.nl\\/$1 [R=301,L]
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:X-Wap-Profile} !^[a-z0-9\\"]+ [NC]
RewriteCond %{HTTP:Profile} !^[a-z0-9\\"]+ [NC]
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/all/$1/index.html -f [or]
RewriteCond /home/janjikm99/domains/janjippe.nl/public_html/wp-content/cache/all/$1/index.html -f
RewriteRule ^(.*) "/wp-content/cache/all/$1/index.html" [L]
</IfModule>
<FilesMatch "\\.(html|htm)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Mon, 29 Oct 1923 20:30:00 GMT"
</ifModule>
</FilesMatch>
# 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
SO网友:MrWhite
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.janjippe.nl/$1 [R,L]
你的“旧”
.htaccess
文件位于
/public_html/.htaccess
可能会让嫌疑犯302重定向。如果没有明确的状态代码
R
标志默认为302。
如果整个站点已移动到/private_html
文件夹作为SSL实现的一部分,那么HTTP(端口80)似乎是从/public_html
和HTTPS(端口443)从/private_html
! (这有点奇怪,因为这样可以(意外地)为每个人提供不同的内容,这是个坏主意。)
如果是这种情况,那么你可能会改变旧的/public_html/.htaccess
要简单读取的文件:
Redirect 301 / https://www.example.com/
并可能删除
/private_html/.htaccess
文件,因为此新站点(位于
/private_html
) 似乎只能通过HTTPS访问!然而,最好将此重定向保持在“以防万一”的位置,以防配置发生任何更改。
(注意:由于没有缓存临时302重定向,因此可以更容易地首先测试这些重定向。如果缓存了错误的重定向,则可能会混淆调试。)