2016-11-02 5 views
1

私たちは、さまざまなサブドメインを使用するOpencart Webショップのセットアップを行っています。 .htaccessファイルを次のように設定しようとしていますが、フィニッシュラインをかなり上回ることはできません。.htaccessファイルのサブドメインを設定するだけでなく、www以外も設定します。 〜www。

私たちのサイトには、セットアップがこの方法です:

メインドメイン:

ourdomain.com

サブドメイン×10

sub1.ourdomain.com

sub2.ourdomain.com

sub3.outdomain.com

ここで行われる必要がありますものです:

メインドメインのHTTPバージョンまたはサブドメインへのすべての訪問者がhttpsにリダイレクトする必要があります。

サブドメインの訪問者はhttps://subdomain.ourdomain.comにリダイレクトする必要がありますが、www。

https://ourdomain.comへの訪問者はhttps://www.ourdomain.comにリダイレクトする必要があります。

基本的に私はメインドメインへの訪問者がwwwに誘導される必要があります。 CSSファイルが正しくレンダリングされるようにします。 wwwと表示されている場合は、アイコンとグラフィックが表示されません。不足している。

私は現在、すべての訪問者をhttpsにリダイレクトするように設定していますが、wwwを適用する方法はわかりません。メインドメインのみに

すべてが意味をなさないことを望みます。

私の現在のコード:

RewriteCond %{HTTP_HOST} ^ourdomain.com$ 
RewriteRule (.*) http://www.ourdomain.com/$1 [R=301,L] 

答えて

1

あなたはこれらのルールを使用することができます。

RewriteEngine on 

#Redirect "http://sub.example.com" to "https://sub.example.com"# 
RewriteCond %{HTTP_HOST} ^((?!www\.).+)\.example\.com$ [NC] 
RewriteCond %{HTTPS} off 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R] 
#Redirect "http://example.com" or "http://www.example.com" to "https://www.example.com"# 
RewriteCond %{HTTP_HOST} ^example\.com$ [NC,OR] 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ 
RewriteRule^https://www.%1%{REQUEST_URI} [NE,L,R] 

は、上記RewriteCondsでyourdomain.comexample.comを交換してください。

+0

あなたの応答starkeenに感謝します。 私たちはほぼそこにいますが、上のコードはsub1.mydomain.comをwww.sub1.mydomain.comに導いています。 私はあなたのコードを理解し、その間に自分自身を理解できるかどうかを調べるつもりです。あなたが応答する機会を得る前に私がそれを解決すれば、ここに戻ってポストします。 – rhorne

+0

@Rhorne申し訳ありませんが、2番目のRewriteCondにタイプミスがありました。実際には、サブドメインをメインドメインに上書きしていました。私は条件を更新しました。編集をご覧ください。 – starkeen

+0

starkeen私のサイトのすべてのバージョンをhttps://に強制した結果、別の問題が発生しました。グラフィックスとアイコンはリンクが見つからないことを示す正方形のアイコンとして表示されます。 これを調べてみたところ、以下の修正がありましたが、これはうまくいかないようです。書き直しルールに一致するように変更する必要があるかどうか調べることができますか? #修正アイコン <のIfModule mod_headers.c> ヘッダーが設定されたアクセス・コントロール・許可 - 起源 "*" rhorne

関連する問題