【发布时间】:2019-08-01 00:58:38
【问题描述】:
我有一个带有工作 htaccess 文件的域,它将所有 http 流量重定向到 https。这一切都很好。
这是 .htaccess 文件:
RewriteEngine on
RewriteCond %{REQUEST_URI} !\.well-known/acme-challenge
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]
刚才,我已经在名为“blogg”的子文件夹中安装了wordpress,如下所示:
www.example.com/blogg/
我立即注意到该博客不是 https。所以我去了wordpress admin并将常规设置中的URL从“http”更改为“https”。这似乎使 wordpress 中的所有链接以及管理页面都使用 https。
不幸的是,在网络浏览器中访问博客时它没有帮助,它仍然是 http,虽然如果我在浏览器中手动输入 https 可以工作。
这里是wordpress目录(example.com/blogg/.htaccess)中的htaccess文件:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blogg/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blogg/index.php [L]
</IfModule>
# END WordPress
我是 .htaccess 的新手,希望在为我的所有域(包括博客)找到正确的代码时获得帮助。帮助表示赞赏。 需要明确的是,我希望所有 http 请求都自动转到 https。
我已经尝试在第二个 .htaccess 文件中添加这一行:(虽然没有运气)。
RewriteCond %{HTTPS} off RewriteRule ^(.*)$
https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
BR
【问题讨论】:
-
您应该在数据库中进行查找/替换,然后搜索
http://yoursite.com并替换为https://yoursite.com有几个可用的插件可以做到这一点。一旦你这样做了,它很可能会像你期望的那样工作,而无需在 .htaccess 中使用自定义重写规则
标签: php wordpress .htaccess ssl https