http到https进入子文件夹(.htaccess)

时间:2016-01-18 11:04:40

标签: wordpress .htaccess mod-rewrite https

我在Apache服务器上运行Wordpress。现在我想使用.htaccess配置以下内容:

  • 强制http到https
  • 将请求从(www。)domain.com重定向到domain.com/domaincom/web

因此,如果用户输入:http://www.domain.com,他将被定向到https://domain.com/domaincom/web,但在浏览器导航中,他会看到https://domain.com

我已经拥有以下内容:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?domain.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTPS} =off
RewriteRule ^ https://%{HTTP_HOST}/domaincom/web/%{REQUEST_URI} [QSA,L,R=301]

但这不会取代URL。你能救我吗?

2 个答案:

答案 0 :(得分:1)

尝试:

RewriteEngine on

#Enable https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R]
# if we are not already on /domain/web
RewriteCond %{REQUEST_URI} !^/domaincom/we [NC]
#Then rewrite any request to /domaincom/web
RewriteRule ^(.*)$ /domaincom/web/$1 [NC,L]

第二个条件对于防止重写循环错误非常重要。否则没有这个条件/ domaincom / web会不断改写自己。

答案 1 :(得分:0)

支持HTTP_X_FORWARDED_PROTO的负载均衡器或反向代理后面的网站可以通过在require_once调用之上添加以下代码到wp-config.php文件来修复:

if(isset($ _ SERVER ['HTTP_X_FORWARDED_PROTO'])&& $ _SERVER ['HTTP_X_FORWARDED_PROTO'] =='https')     $ _SERVER ['HTTPS'] ='on';

或插件

添加到您网站上的WordPress插件文件夹中,然后在插件管理器中激活它

https://gist.github.com/krunalsojitra/b975043933bca9183f57581e45858949

它的工作方式与

相似

http://www.exmaple.com/blog/ **到** https://www.exmaple.com/blog/

http://www.exmaple.com/ **到** https://www.exmaple.com/