2017-10-07 3 views
0

私はちょうどサーバにSSL証明書をインストールしました。ウェブサイトを.htaccess内のHTTPSでサブフォルダに自動ロード

現在のURL:www.example.com

現在の作業のhtaccessファイル:

RewriteEngine on 
RewriteRule ^$ public/ [L] 
RewriteRule ^(.*)$ public/ [L] 

それは公共/ index.phpにリダイレクトされます。

htaccessにHTTPSコードを追加するときに問題がありますが、このpublic/index.phpは機能しません。

RewriteEngine on 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{HTTP_HOST} ^example\.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www\.example\.com$ 
RewriteRule ^/?(.*) https://www.example.com/$1 [R] 

パブリックリダイレクトパーツを削除するとき、HTTPSは機能していますが、public/index.phpを指していません。

これらのルールを組み合わせて、https urlを使用してpublic/index.phpにリダイレクトする方法を教えてください。

PS:公共/ htaccessの

ReWriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?url=$1 [PT,L] 

助けてください!

はありがとうございました

+0

.htaccessを使用してHTTPSバージョンにリダイレクトする必要がありますか? –

+0

他の方法があれば、どうぞ!それは助けることがあります – NDesai

+0

フレームワークを使用していますか?または他のすべてのファイルに含まれているPHPファイルがありますか? –

答えて

1

あなたのHTTPS WebサイトにリダイレクトするためにPHPを使用することができますから、

if(empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == "off"){ 
    $redirect = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; 
    header('HTTP/1.1 301 Moved Permanently'); 
    header('Location: ' . $redirect); 
    exit(); 
} 

:、Redirecting from HTTP to HTTPS with PHP

しかし、コードのこの作品は、すべてのページに含める必要がありますかそれを他のすべてのファイルに含まれるPHPファイルに含めます。

+0

アップデートの回答が機能していません! – NDesai

+0

.htaccessの部分を削除します。私は.htaccessを使用する上で "専門家"ではないので、皆さんの一人が.htaccessメソッドで回答を投稿したり、単に私の答えを更新したりすることを願っています。 –

関連する問題