2017-03-22 54 views
1

我想要做的就是阻止站點使用http而不是https。這是我的.htaccess配置。只有www.mywebsite.com和mywebsite.com不會轉到https。角度路線也可以。如果我寫mywebsite.com/signup它也會使用https。我應該怎麼做才能將所有場景重定向到https?HTTP重定向到HTTPS,同時保持角路由(.htaccess)

的情況:

www.website.com - >沒有使用https

website.com - >沒有使用https

website.com/signin - > HTTPS

萬維網。 website.com/signin - > https

RewriteEngine On 

    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR] 
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d 
    RewriteRule^- [L] 


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

回答

0

前2個重寫條件將忽略現有文件和目錄,但根目錄(通常)始終存在。嘗試刪除第一個塊。

這將是足夠的:

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

對於角度的路線工作,你需要這樣的

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 
RewriteRule^index.html 

這樣,所有非SSL流量將被重定向另一個塊。第二部分將重寫一切到您的角度索引文件,除了現有的目錄和文件

+0

沒有他們我的路線無法訪問。我得到了404.如果我只寫網站我有500 – ayZagen

+0

我無法達到我的路線。瀏覽主頁是好的,但如果我刷新頁面或輸入www.mywebsite.com/route1我有404 – ayZagen