> フロント機能 > httpからhttpsへのリダイレクトが出来ない |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
zara |
投稿日時: 2017/2/5 16:18
対応状況: −−−
|
新米 登録日: 2016/4/19 居住地: 鹿児島県 投稿: 9 |
httpからhttpsへのリダイレクトが出来ない 度々投稿させていただいております。
ECCUBE3.0.12-p1、さくらインターネットでお客様の通販サイトを運営しております。ラピッドSSL。 サイト全体のSSL化をしたくて、こちらのコミュニティや他もいろいろ探っています。 既存のスレをいろいろ試すも、サイト全体のSSL化はできたのですが、管理ページにアクセスしようすると、通販サイトのトップページにアクセスしてしまいます。 おまけに元々 http://○○○○.com/でアクセスできていたのが、(ECCUBE導入当初にhtmlをURLからはずす対策をしています) https://○○○○.com/html/index.php/になってしまいます。 トップページは上の html/index.php/を省略しても保護された通信になりますが、実際重要な新規会員登録ページで html/index.phpを外し、https://○○○○.com/entryでアクセスするとアクセス自体はできるものの、カギ付きの保護された通信ではなくなります。 すでに八方ふさがり状態で困り果てております。 下記に現況(SSL化を試みる前の状態に戻しています)のファイルを貼り付けしております。 非常に長々となってしまい、申し訳ないのですが、 どなたかお分かりになる方、ご教授いただけないでしょうか。 宜しくお願いいたします。 ----------root直下のhtaccess---------- <FilesMatch "^composer|^autoload|^cli-config|^COPYING|\.(ht|ini|lock|dist|git|sh)$"> order allow,deny deny from all </FilesMatch> <Files ~ "index.php|index_dev.php"> order deny,allow allow from all </Files> <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /html/ RewriteRule ^user_data/(.*)$ /html/user_data/$1 [QSA,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !^(.*)\.(gif|png|jpg|css|ico|js)$ [NC] RewriteRule ^(.*)$ index.php [QSA,L] </IfModule> --------------------------------------------------- ----------appのhtaccess---------- <FilesMatch "^composer|^autoload|^cli-config|^COPYING|\.(ht|ini|lock|dist|git|sh)$"> order allow,deny deny from all </FilesMatch> <Files ~ "index.php|index_dev.php"> order deny,allow allow from all </Files> <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /html/ RewriteRule ^user_data/(.*)$ /html/user_data/$1 [QSA,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !^(.*)\.(gif|png|jpg|css|ico|js)$ [NC] RewriteRule ^(.*)$ index.php [QSA,L] </IfModule> --------------------------------------------------- ----------htmlフォルダのhtaccess---------- order deny,allow allow from all <IfModule mod_rewrite.c> RewriteEngine On # Authorization ヘッダが取得できない環境への対応 RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !^(.*)\.(gif|png|jpe?g|css|ico|js|svg)$ [NC] RewriteRule ^(.*)$ index.php [QSA,L] </IfModule> RewriteBase /html --------------------------------------------------- ----------app/config/eccube/path.yml---------- root: /html/ admin_dir: 管理ページのディレクトリ/ tpl: /html/user_data/packages/default/ admin_tpl: /html/user_data/packages/admin/ image_path: /html/upload/save_image/ root_dir: /home/初期ドメイン/www/お客様のrootディレクトリ root_urlpath: template_code: custom admin_route: 管理ページのディレクトリ user_data_route: user_data public_path: /html public_path_realdir: /home/初期ドメイン/www/お客様のrootディレクトリ/html image_save_realdir: /home/初期ドメイン/www/お客様のrootディレクトリ/html/upload/save_image image_temp_realdir: /home/初期ドメイン/www/お客様のrootディレクトリ/html/upload/temp_image user_data_realdir: /home/初期ドメイン/www/お客様のrootディレクトリ/html/user_data block_default_realdir: /home/初期ドメイン/www/お客様のrootディレクトリ/src/Eccube/Resource/template/default/Block block_realdir: /home/初期ドメイン/www/お客様のrootディレクトリ/app/template/custom/Block template_default_realdir: /home/初期ドメイン/www/お客様のrootディレクトリ/src/Eccube/Resource/template/default template_default_html_realdir: /home/初期ドメイン/www/お客様のrootディレクトリ/html/template/default template_admin_realdir: /home/初期ドメイン/www/お客様のrootディレクトリ/src/Eccube/Resource/template/admin template_admin_html_realdir: /home/初期ドメイン/www/お客様のrootディレクトリ/html/template/admin template_realdir: /home/初期ドメイン/www/お客様のrootディレクトリ/app/template/custom template_html_realdir: /home/初期ドメイン/www/お客様のrootディレクトリ/html/template/custom template_temp_realdir: /home/初期ドメイン/www/お客様のrootディレクトリ/app/cache/eccube/template csv_temp_realdir: /home/初期ドメイン/www/お客様のrootディレクトリ/app/cache/eccube/csv plugin_realdir: /home/初期ドメイン/www/お客様のrootディレクトリ/app/Plugin plugin_temp_realdir: /home/初期ドメイン/www/お客様のrootディレクトリ/app/cache/plugin plugin_html_realdir: /home/初期ドメイン/www/お客様のrootディレクトリ/html/plugin admin_urlpath: /html/template/admin front_urlpath: /html/template/custom image_save_urlpath: /html/upload/save_image image_temp_urlpath: /html/upload/temp_image user_data_urlpath: /html/user_data plugin_urlpath: /html/plugin ---------------------------------------------------- ----------autoload.php---------- <?php // システム要件チェック if (version_compare(PHP_VERSION, '5.3.9') < 0) { die('Your PHP installation is too old. EC-CUBE requires at least PHP 5.3.9. See the <a href="http://www.ec-cube.net/product/system.php">system requirements</a> page for more information.'); } if (extension_loaded('wincache')) { if (!ini_get('opcache.enable')) { ini_set('wincache.ocenabled', 1); } ini_set('wincache.fcenabled', 1); } $autoload = __DIR__.'/vendor/autoload.php'; if (file_exists($autoload) && is_readable($autoload)) { $loader = require $autoload; } else { die('Composer is not installed.'); } // autoloader cache if (extension_loaded('apc') && ini_get('apc.enabled')) { $apcLoader = new Symfony\Component\ClassLoader\ApcClassLoader(sha1(__FILE__), $loader); $apcLoader->register(); $loader->unregister(); } elseif (extension_loaded('wincache') && ini_get('wincache.fcenabled')) { $winCacheLoader = new Symfony\Component\ClassLoader\WinCacheClassLoader(sha1(__FILE__), $loader); $winCacheLoader->register(); $loader->unregister(); } //[INFO]index.php,install.phpをEC-CUBEルート直下に移動させる場合は、コメントアウトしている行に置き換える define("RELATIVE_PUBLIC_DIR_PATH", ''); //define("RELATIVE_PUBLIC_DIR_PATH", '/html'); return $loader; |
468 |
投稿日時: 2017/2/6 1:22
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: httpからhttpsへのリダイレクトが出来ない この張り付けられている状態で、非SSL(http://)では正常に動作しているという事でしょうか?
SSL化対応というのは具体的にどのような作業をされていますか? htaccessなどに変更を加えていますか?
|
anz |
投稿日時: 2017/2/6 9:57
対応状況: −−−
|
半人前 登録日: 2016/10/12 居住地: 投稿: 16 |
Re: httpからhttpsへのリダイレクトが出来ない 私もまったく同じ状況で苦労しました。
さくらのSSL(SNI・ラピッド等)を使う場合、.htaccessでRewriteが使えないそうです。 私の場合はautoload.phpの最初に下記を追加することで解決しました。 === if (isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR'])) { $_SERVER['HTTPS'] = 'on'; $_ENV['HTTPS'] = 'on'; $_SERVER['HTTP_HOST'] = 'ドメイン.jp'; $_SERVER['SERVER_NAME'] = 'ドメイン.jp'; $_ENV['HTTP_HOST'] = 'ドメイン.jp'; $_ENV['SERVER_NAME'] = 'ドメイン.jp'; } === ドツボっているようでしたら、お試しください。 |
zara |
投稿日時: 2017/2/6 22:17
対応状況: −−−
|
新米 登録日: 2016/4/19 居住地: 鹿児島県 投稿: 9 |
Re: httpからhttpsへのリダイレクトが出来ない 468様、anz様、ありがとうございます。
返信が遅くなり申し訳ありません。 最初の段階で説明不足でした。 >この張り付けられている状態で、非SSL(http://)では正常に動作しているという事でしょうか? 最初の段階では普通に非SSL(http://)で正常に動作しています。 anz様よりありました「autoload.php」部分の追記もすでに最初の段階でためしており、何も変わらずでした。 今回のご相談では下記を試してみて、 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=18114&forum=2&post_id=78310#forumpost78310 全体のSSL化ができましたが、管理ページにアクセスしようとすると、サイトのトップページにアクセスしてしまい、また、手入力で入力すれば「https://○○○.com」でアクセスできますが、そうでない場合は「https://○○○.com/html/index.php」となり、導入当初にURLにhtmlを省く対策したものが解除され、プラスindex.phpまで付いてきてしまっています。 最悪全体のSSL化と管理ページにだけはアクセスできるようになればと思っております。 どうぞご教授宜しくお願いいたします。 |
anz |
投稿日時: 2017/2/7 11:07
対応状況: −−−
|
半人前 登録日: 2016/10/12 居住地: 投稿: 16 |
Re: httpからhttpsへのリダイレクトが出来ない 私の知識では、新規でインストールする手順しかわかりません。個人的なメモですので見にくいかと存じますが、晒します。
★autoload.phpの最初に下記を追加 === if (isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR'])) { $_SERVER['HTTPS'] = 'on'; $_ENV['HTTPS'] = 'on'; $_SERVER['HTTP_HOST'] = 'ドメイン.jp'; $_SERVER['SERVER_NAME'] = 'ドメイン.jp'; $_ENV['HTTP_HOST'] = 'ドメイン.jp'; $_ENV['SERVER_NAME'] = 'ドメイン.jp'; } === ★さくらサーバーにEC-CUBEを展開する ※クイックインストールを使う場合は、ストア名が挿入されるため、排除する手順が必要 ex)https://ドメイン.jp/ディレクトリ名/html ★サーバーコントロールパネルより、ドメイン設定 ルートディレクトリを変更 //変更前 https://ドメイン.jp/ //変更後 https://ドメイン.jp/ディレクトリ名 ★.htaccessの修正 ルートディレクトリを変更した場合、htmlフォルダの.htaccessを修正しないとエラーが出る。 === htmlの.htaccess SetEnvIf REDIRECT_HTTPS (.+) HTTPS=$1 order deny,allow allow from all <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /html # Authorization ヘッダが取得できない環境への対応 RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !^(.*)\.(gif|png|jpe?g|css|ico|js|svg)$ [NC] RewriteRule ^(.*)$ index.php [QSA,L] </IfModule> === ★https://ドメイン.jp/html/にアクセスしEC-CUBEをインストールする ★htmlフォルダをURLから消す準備 htmlフォルダの中身をEC-CUBEルートへ移動させる .htaccessを修正する === htmlの.htaccess SetEnvIf REDIRECT_HTTPS (.+) HTTPS=$1 order deny,allow allow from all <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / # Authorization ヘッダが取得できない環境への対応 RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !^(.*)\.(gif|png|jpe?g|css|ico|js|svg)$ [NC] RewriteRule ^(.*)$ index.php [QSA,L] </IfModule> === ★index.php、index_dev.php、autoload.phpを修正する(//の移動) ★path.ymlの修正 /app/config/eccube/path.yml root_urlpath: / https://ドメイン.jp、管理画面にアクセスし動作確認 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |