個人用ツール

「レンタルサーバー毎の設定」を編集中

提供: baserCMS公式ガイド

移動: 案内, 検索

警告: ログインしていません。

編集すると、IPアドレスがこのページの編集履歴に記録されます。
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
行84: 行84:
  
 
=== 管理側SSLを有効化するとリダイレクトループが起きる ===
 
=== 管理側SSLを有効化するとリダイレクトループが起きる ===
 
さくらサーバの場合(2017/04/7時点)は、httpsへwwwアリでアクセスしてもHTTP_HOST変数にはwwwなしのドメイン情報がセットされる仕様に変わっているようです。
 
 
https://www.example.com/ の場合、 HTTP_HOST example.com となる。
 
 
通常だったら HTTP_HOST www.example.com になるはず。
 
 
そこで、対応方法としては
 
  
 
- htaccess で調整する。
 
- htaccess で調整する。
行118: 行110:
 
RewriteCond %{HTTP:X-SAKURA-FORWARDED-FOR} ^$
 
RewriteCond %{HTTP:X-SAKURA-FORWARDED-FOR} ^$
 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</pre>
 
 
 
* baserCMS3系の場合
 
 
上記の対応のみでOK
 
 
* baserCMS4系の場合
 
 
コアの処理で管理画面の場合にadminSslの値と関係なく
 
リダイレクトしようとしている箇所があるので、その部分をコメントアウトする。
 
 
lib/Baser/Controller/BcAppController.php 260行あたり
 
 
 
<pre>
 
 
public function beforeFilter() {
 
parent::beforeFilter();
 
 
$isRequestView = $this->request->is('requestview');
 
$isUpdate = $this->request->is('update');
 
$isAdmin = $this->request->is('admin');
 
$isInstall = $this->request->is('install');
 
$isMaintenance = $this->request->is('maintenance');
 
 
// CUSTOMIZE DELETE 2017/04/07
 
// ※ さくらサーバの場合の不具合のため、管理画面リダイレクト処理を削除(.htaccessにて対応)
 
//   さくらの共有サーバーでSNIを使ってSSLを導入の場合、
 
//   https://www.example.com/ でアクセスしてもHTTP_HOST = example.com となり、siteUrl()の値が正しくない。
 
//   通常のサーバではHTTP_HOST = www.example.com がセットされている。
 
// >>>
 
// // 設定されたサイトURLとリクエストされたサイトURLが違う場合は設定されたサイトにリダイレクト
 
// if($isAdmin) {
 
// if($this->request->is('ssl')) {
 
// $siteUrl = Configure::read('BcEnv.sslUrl');
 
// } else {
 
// $siteUrl = Configure::read('BcEnv.siteUrl');
 
// }
 
// if($siteUrl && siteUrl() != $siteUrl) {
 
// $this->redirect($siteUrl . preg_replace('/^\//', '', Router::reverse($this->request, false)));
 
// }
 
// }
 
// <<<
 
 
// メンテナンス
 
if (!empty($this->siteConfigs['maintenance']) && (Configure::read('debug') < 1) && !$isMaintenance && !$isAdmin && !BcUtil::isAdminUser()) {
 
if (!empty($this->request->params['return']) && !empty($this->request->params['requested'])) {
 
return;
 
} else {
 
$redirectUrl = '/maintenance';
 
if ($this->request->params['Site']['alias']) {
 
$redirectUrl = '/' . $this->request->params['Site']['alias'] . $redirectUrl;
 
}
 
$this->redirect($redirectUrl);
 
}
 
}
 
 
</pre>
 
</pre>
  

baserCMS公式ガイドへのすべての投稿は、他の利用者によって編集、変更、除去される場合があります。 あなたの投稿を、他人が遠慮なく編集するのを望まない場合は、ここには投稿しないでください。
また、投稿するのは、あなたが書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください (詳細は[[Basercms:著作権 ]]を参照)。 著作権保護されている作品を、許諾なしに投稿してはいけません!

Add Categories
Update Categories

利用ガイド

  

中止 | 編集の仕方 (新しいウィンドウで開きます)