2015-06-05 68 views
3

我有以下.htaccess文件的.htaccess,HTTPS重定向到的login.php

# 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] 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}/ [L,R=301] 
</IfModule> 
# END WordPress 

这是网站的link

托管在同一服务器上的另一个域需要重定向到login.php页面,我不是开发人员,也不知道如何进行重定向。但我不得不停止被重定向到login.php。有没有办法通过.htaccess来实现?

我实际上只想在主页和注册页面上启用https,我可以使用HTTPS插件进行操作。当我启用他们,正如我所说,他们去login.php文件...

重要提示:上面的链接/域没有配置ssl,但需要重定向的其他域有它。但是他们在服务器上安装了一个CA软件包。

第二个重要注意事项:我实际上需要使用https传递数据来安全地使用fb-twitter-linkedin登录按钮。

我很乐意提供任何建议。谢谢你的时间!

编辑#1 - 上面提到的其他域只有这些对的.htaccess

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

回答

1

你需要你的重定向规则来以前你的WordPress的路由规则。否则,路由首先发生,重写任何你请求的URL,然后第二条规则重定向内部路由。

尝试:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}/ [L,R=301] 

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 
+0

您好,感谢答案。我也尝试过,但仍然没有解决问题:/我添加了其他域的.htaccess(通常应该是唯一一个重定向)。 – Ekin

+0

@Ekin你清除了浏览器的缓存吗? 301重定向是永久的,所以你的浏览器总是使用它的缓存。 –

+0

当然,我清除它。有一件事很奇怪......我无法在任何.htaccess文件中识别/login.php/的任何重定向代码。你能告诉我,如果我错了吗? – Ekin