2016-03-14 150 views
1

我想,如果有人訪問http://domain.com,他被重定向到https://domain.com重定向根HTTP根HTTPS

.htaccess文件位於/var/www/html具有以下內容

<ifmodule mod_rewrite.c=""> 
    RewriteEngine On 
    RewriteCond %{HTTPS} off 
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
</ifmodule> 

apache2.conf包含:

<Directory /var/www/html> 
    Options FollowSymLinks 
    AllowOverride All 
    Require all granted 
    SSLRequireSSL 
</Directory> 

但它不起作用,顯示:

禁止 您沒有權限訪問/在此服務器上。

編輯:我刪除了SSLRequireSSL線和禁用Firefox中,節省了重定向緩存。如果我訪問http://domain.com,它會將我重定向到https://domain.com。但是對於子目錄來說,它仍然沒有這樣做。如果我訪問http://domain.com/sub我想要被重定向到https://domain.com

+0

定義「不起作用」。什麼都沒發生?意外發生了什麼? ...? –

+0

註釋掉以上提到的行也不行:( –

+0

)https:// domain.com/URL是否直接在瀏覽器中工作? – anubhava

回答

0

我剛纔討論的子目錄是一個特殊的子目錄......沒想到會有什麼關係。它是一個自帶的.htaccess自帶的雲端安裝。我的.htaccess被那個沒有包含我的重寫規則的覆蓋。

我的第二個錯誤是,就像已經提到,我有SSLRequireSSL屬性集。如果這被激活,似乎任何.htaccess被忽略。

我也刪除了封閉的如果從.htaccess的聲明像anubhava建議。