2014-09-17 17:31
浏览 76


I have this really weird problem which I've already spent a lot of time investigating, but failed to find a solution.

Basically, I have a few domains parked in the server, but for simplicity, let's assume just 2 domains:

  1. (main)

I have 2 requirements I'd like to satisfy:

  • a) I want all traffic from (2) redirected to (1)
  • b) I want all HTTP traffic to be redirected to HTTPS

So basically, in one sentence, I want all traffic to simply go to no matter what URL patterns I type into the location bar.

I have written a .htaccess file in the root like this:

SetEnv TZ

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond %{HTTPS} !^on [OR]
    RewriteCond %{HTTP_HOST} !^www\.example\.co\.nz
    RewriteRule (.*)$1 [R=301,L]

    RewriteCond %{REQUEST_URI} ^/(system|lib)(.*)$
    RewriteRule ^(.*)$ index.php?/$1 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]

The following works:

The following does not get redirected:

  • Would anyone happen to have any ideas why this is happening?

I was wondering if this is related to my htaccess or the server itself.

Any help would be high appreciated.

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • doutun1875 2014-09-17 17:37

    Found the problem.

    The redirect is actually working. You get a warning about the certificate at when you attempt to visit the website. Once you accept the warning, you are redirected to

    That is because the SSL check is applied before the .htaccess rewrites. Since there is no certificate installed for, you get a warning.

    The only way around that is to install an SSL certificate for as well.

    打赏 评论

相关推荐 更多相似问题