.htaccess(重写为https)在Wordpress中导致无限循环,但仅限于Feed

时间:2014-01-08 09:25:26

标签: wordpress apache .htaccess https

我有一个Wordpress网站,使用.htaccess重定向强制https到来自端口80的任何内容。简单地将Wordpress网站URL标记为https://domain.com似乎不起作用 - 因此.htaccess修复。< / p>

但是,当我尝试访问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重定向之后,则Feed会正常工作,但大多数链接/页面不会重定向到https。

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

提前致谢

1 个答案:

答案 0 :(得分: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缓存问题。