【问题标题】:Redirecting wordpress to HTTPS将 wordpress 重定向到 HTTPS
【发布时间】:2016-03-04 16:16:06
【问题描述】:

我有一个由插件生成的 .htaccess 文件。 它看起来像这样:

# BEGIN Far Future Expiration Plugin
<IfModule mod_expires.c>
ExpiresActive on
<FilesMatch "\.(gif|jpeg|jpg|png)$">
ExpiresDefault "access plus 168 hours"
</FilesMatch>
</IfModule>
# END Far Future Expiration Plugin

# 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

我需要实现 HTTPS 重定向。我尝试将以下内容添加到文件中,但它给了我一个 Too many redirects 错误。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^yoursite.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.yoursite.com [NC]
RewriteRule ^(.*)$ https://www.yoursite.com/$1 [L,R=301,NC]

有什么建议吗?

【问题讨论】:

  • 你只需要检查HTTPS,你不需要检查你的域是否有www。无论哪种方式,它都会重定向。

标签: php wordpress apache .htaccess https


【解决方案1】:

此代码会将任何非https 请求重定向到与https 相同的页面/域。

RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

注意:部分但不是全部 ssl 证书不包括 www 或非 www 域,具体取决于您购买的方式。因此,您可能会遇到错误,除了上面的代码之外,您还可以使用上面尝试的内容。

RewriteCond %{HTTP_HOST} ^yoursite.com [NC]
RewriteRule ^(.*)$ https://www.yoursite.com/$1 [L,R=301,NC]

此示例将非www 站点重定向到www,如果您需要其他情况,请切换它。

【讨论】:

  • @EricMitjans - 你替换你的,并将它放在你的 htaccess 文件的顶部(在 WordPress 重写位之前)
猜你喜欢
  • 2018-08-31
  • 2016-09-01
  • 2015-12-27
  • 2015-10-27
  • 1970-01-01
  • 2012-05-21
  • 2019-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多