Https to http重写规则,Rackspace Cloud网站无法正常工作

时间:2013-11-05 11:39:14

标签: .htaccess mod-rewrite url-rewriting rackspace-cloud rackspace

我正在尝试将所有ssl请求路由到非ssl以及下面的方案工作正常,除了一个[下面列表中的第4个]并且我不确定有什么问题,你能帮我解决这个问题

1 - http://www.domain.com - 重定向到www.domain.com - - >工作正常

2 - http://domain.com - 重定向到www.domain.com - >按预期工作

3 - https://domain.com - 重定向到www.domain.com - >按预期工作

4 - https://www.domain.com - 重定向到https://www.domail.com - 预计会是www.domain.com

        <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP:Accept-Encoding} gzip
    RewriteRule .* - [E=W3TC_ENC:_gzip]
    RewriteCond %{REQUEST_METHOD} !=POST
    RewriteCond %{QUERY_STRING} =""
    RewriteCond %{REQUEST_URI} \/$
    RewriteCond %{HTTP_COOKIE} !(comment_author|wp\-postpass|w3tc_logged_out|wordpress_logged_in|wptouch_switch_toggle) [NC]
    RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index.html%{ENV:W3TC_ENC}" -f
    RewriteRule .* "/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index.html%{ENV:W3TC_ENC}" [L]
    </IfModule>

    <IfModule mod_rewrite.c>

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
    RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
    RewriteCond %{HTTPS} on
    RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
    <IfModule>

    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
    RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
    RewriteCond %{HTTPS} on
    RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
    <IfModule>

在这里,我想将https://www.domain.com上的所有请求重定向到www.domain.com,下面是我们的.htaccess配置详细信息,

谢谢,非常感谢你的支持..

- 的Manoj

2 个答案:

答案 0 :(得分:0)

摆脱这些界限:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

(有两套)

你不希望他们在那里因为 后你将所有内容都路由到index.php

相反,请在RewriteRule ^index\.php$ - [L]行之前添加此权限:

RewriteCond %{HTTPS} on [OR]
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

答案 1 :(得分:0)

Rackspace云服务器在负载均衡器后面运行,负载均衡器解密SSL,因此永远不会满足RewriteCond%{HTTPS}条件。