2016-05-17 20 views
2

私はdomain - example.comを持っています。私は今wwwとhttpsのhtaccessリダイレクトの問題

https://www.example.com/betaにリダイレクトするように常にたい

、私のhtaccessファイルがあるLaravel 5を使用しています:

<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
     Options -MultiViews 
    </IfModule> 
    RewriteEngine On 
    RewriteBase /beta/ 

    RewriteCond %{HTTP_HOST} !^www\. [NC] 
    RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
    RewriteCond %{HTTPS} !=on 
    RewriteRule^https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301] 

    # Redirect Trailing Slashes... 
    RewriteRule ^(.*)/$ /$1 [L,R=301] 

    # Handle Front Controller... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 
</IfModule> 

今、example.com/betaのために - それはhttps://example.com/beta

にリダイレクト

が、我々はwww.example.com/betaに行くとき - それはhttp://www.example.com/https://www.www.example.com/beta

にリダイレクトお知らせください。

答えて

2

はこのようにそれを持っている:

<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
     Options -MultiViews 
    </IfModule> 
    RewriteEngine On 
    RewriteBase /beta/ 

    RewriteCond %{HTTP_HOST} !^www\. [NC,OR] 
    RewriteCond %{HTTPS} !=on 
    RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] 
    RewriteRule ^(.*)$ https://www.%1%{REQUEST_URI} [L,R=301,NE] 

    # Redirect Trailing Slashes... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)/$ /$1 [L,R=301,NE] 

    # Handle Front Controller... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 
</IfModule> 

は、この変更をテストする前に、ブラウザのキャッシュをクリアすることを確認します。

+0

私のコードで何が間違っているのか教えていただけますか? – dang

+0

あなたの2番目のルールはリクエストが既に 'www'を持っているかもしれない時に同時に' https'と 'www'を追加しています – anubhava

+0

@anubhava親愛なるあなたは時間があれば私の質問に答えることができますか? [質問](http://stackoverflow.com/questions/37435512/request-404-page-not-found-ajax) – Azzo

関連する問題