2015-05-31 60 views
2

我有一個基於php的網站....我試圖使用ssl ...該ssl在網站上正常工作,問題是它不重定向與https ....它只顯示http ,我嘗試編輯在.htaccess文件,但它不工作.... 也是我的網站與該格式example.org/開放的index.html/index.html如何在特定文件example.org/index.html上強制使用SSL?

我試圖用這個,但不工作

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

的.htaccess代碼:

RewriteEngine On  
RewriteBase/
#AuthUserFile /home/products/html/path/.htpasswd 
#AuthGroupFile /dev/null 
#AuthName "Private Area" 
#AuthType Basic 
#<Limit GET POST> 
#require valid-user 
#</Limit> 

<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"> 
    FileETag None 
    <IfModule mod_headers.c> 
    Header unset ETag 
    Header set Cache-Control "max-age=31536000, Public" 
    </IfModule> 
</FilesMatch> 

Options -Indexes 

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ^(.+).html$ $1/?%{QUERY_STRING} 

-------urls--------- 

RewriteRule ^index/$ path/index.php 
RewriteRule ^index/([^\/]+)/$ path/index.php?list=$1&%{QUERY_STRING} 

回答

0

您可以使用PHP重定向。

我用這個功能來檢查,如果該請求是HTTPS與否:

function isHttps() { 
    return (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') || $_SERVER['SERVER_PORT'] === 443; 
} 

現在檢查,如果要求不是HTTPS和重定向:

if (!isHttps()) { 
    header("location: https://www.example/index.php"); 
} 
0

強制重定向到安全頁面:

if ($_SERVER['SERVER_PORT'] != '443') { 
    header('Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); 
    exit(); 
} 
相關問題