2014-01-08 35 views
1

我有一个WordPress网站被强制使用.htaccess重定向来源于端口80的任何内容。只需将该WordPress网站URL标记为https://domain.com似乎没有工作 - 因此.htaccess修复。.htaccess(重写为https)导致Wordpress中的无限循环,但仅限于Feed

但是,当我尝试访问提要时,它会陷入无限循环。有没有什么办法可以调整它,以便它不会将feed重定向到https?根据我对Wordpress的理解,'/ feed /'已经在.htaccess中用重定向处理过了。

当前的代码是:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://domain.co.uk/$1 [R,L] 

# 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/port80重定向到之后的WordPress然后重定向饲料的作品,但随后大多数链接/网页不会被重定向到HTTPS。

我已经尝试了各种各样,但承认失败。我需要一个apache/htaccess/wordpress专家!

在此先感谢

+0

您确定家庭和网站的URL都在WP永久链接https? – anubhava

+0

是的。设置>常规'WordPress地址(URL)'和'站点地址(URL)'均为https://domain.co.uk – MaFt

回答

1

你能试试这个代码:

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

RewriteCond %{SERVER_PORT} 80 
RewriteCond %{THE_REQUEST} !/feed [NC] 
RewriteRule^https://domain.co.uk%{REQUEST_URI} [R,L,NE] 

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

另外,还要确保在新的浏览器进行测试,以避免301个缓存问题。

+0

谢谢。现在,这几乎奏效 - Feed正在显示,但所有其他页面都进入循环。 我添加了80端口条件所以中间现在是: '的RewriteCond%{SERVER_PORT} 80' '的RewriteCond%{THE_REQUEST} /饲料[NC]'' 重写规则^ https://loveourcaravans.co。 uk%{REQUEST_URI} [R,L,NE]' 对不起,我无法获得正确的格式...如果您想更新您的答案,我会将其标记为已接受的答案。谢谢。 – MaFt

+0

很高兴知道。我现在已经更新了答案。 – anubhava

+1

感谢您的帮助。 – MaFt