【问题标题】:redirect http urls to https with 301 in .htaccess在 .htaccess 中使用 301 将 http url 重定向到 https
【发布时间】:2014-04-15 04:41:16
【问题描述】:

我正在尝试将 http://www.example.com/page/ 网址重定向到 https://www.example.com/page/ 并尝试了一些来自这里的代码建议,但得到了无限的重定向循环。我也尝试使用 cpanel ,但这给出了 404 错误。从 cpanel 执行此操作时,我还将重定向移动到 mod_rewrite 部分上方,因为它们通常无法正常工作。

我正在使用带有 HTTPS 插件的当前 wordpress + cloudflare 将整个站点保持在 https://www 中,这运行良好。

这是我目前在 wp-config.php 和 .htaccess 中可以找到的:

wp-config.php:

if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
   $_SERVER['HTTPS']='on';

.htaccess:

# 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

最好,任何访问 http://www.example.com/page/ url 的尝试都会导致 301 重定向到 https://www.example.com/page/ 相同网址的版本。

有人有什么建议吗?

提前谢谢你!

【问题讨论】:

标签: php wordpress apache .htaccess redirect


【解决方案1】:

您是否考虑过使用插件?

我怀疑这个插件可能完全符合您的要求:

WordPress HTTPS (SSL) https://wordpress.org/plugins/wordpress-https/

如果这不能解决问题,您可以使用 mod_alias 尝试类似的操作

Redirect permanent /page https://www.example/com/page

在 /etc/apache2/sites-enabled 中的站点文件中

【讨论】:

  • 嗨 Jason,是的,这就是我正在使用的插件,它使我的网站保持在 https 上。但是谷歌中有一大堆缓存的 http:// 网址每天都会显示,当我在浏览器中输入其中一个网址时,它会保持为 http://,因此最好有一个 301 来实现它https 所以谷歌最终会得到图片,所以人们不会为 http 网址添加书签
  • 好的,我会记住这一点 Jason,我不确定代码是否可以这样编写,但很高兴看到它可以。 Mod重写规则现在从上面的服务器故障链接中起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-29
  • 1970-01-01
  • 2017-06-17
相关资源
最近更新 更多