#author("2017-09-04T21:47:21+09:00","","")
#author("2017-09-05T22:28:26+09:00;2017-09-04T21:47:21+09:00","","")
* SSLのPortが443ではない場合、すべてのリンクが不正になってしまった [#l301e428]

- ページ: [[BugTrack]]
- 投稿者: [[Baryon Lee]]
- 優先順位: 重要
- 状態: 完了
- カテゴリー: 本体バグ
- 投稿日: 2008-03-06 (木) 15:24:32
- バージョン: 1.4.7
- リリース予定バージョン: 1.5.2

** メッセージ [#v5dc92f3]
SSLのPortが443ではない場合、すべてのWikiリンクが不正になってしまった。

再現手順:

1、ApacheのSSLを有効します

2、https-ssl.confにあるPortを修正し、443から8080へ変更します
 Listen 8080
 ...
 <VirtualHost _default_:8080>


3、Pukiwiへアクセスして確認できます。

対応方法:

lib\func.php (r1.73) Line.600 を修正します

 //$script  = (SERVER_PORT == 443 ? 'https://' : 'http://'); // scheme
 $script  = ($_SERVER['HTTPS'] ? 'https://' : 'http://'); // scheme

初めてのphp対応ですが、ご確認ください
--------
- 関連: [[BugTrack/341]] --  &new{2008-03-06 (木) 18:38:05};
- (調べればすぐにわかることですが)どのリビジョンに対する修正案かわかるようにしておきました。 --  &new{2008-03-06 (木) 18:45:45};
- 対策、報告お疲れ様です。とりあえず、
 $script  = (isset($_SERVER['HTTPS']) ? 'https://' : 'http://'); // scheme
の方がいいんじゃないかな。 -- [[ぃぉぃぉ]] &new{2008-03-06 (木) 18:57:44};
- その下のポートの判断もおかしいですね。まとめて
 $script  = (SERVER_PORT == 443 ? 'https://' : 'http://'); // scheme
 $script .= SERVER_NAME;	// host
 $script .= (SERVER_PORT == 80 ? '' : ':' . SERVER_PORT);  // port
↓
 $script  = (isset($_SERVER['HTTPS']) ? 'https://' : 'http://'); // scheme
 $script .= SERVER_NAME;	// host
 $script .= (SERVER_PORT == (isset($_SERVER['HTTPS']) ?443 :80) ? '' : ':' . SERVER_PORT);  // port
こんな感じかな -- [[mashiki]] &new{2008-07-20 (日) 03:00:40};
- 関連: [[BugTrack2/124]] --  &new{2008-12-12 (金) 21:15:15};

- ルートURLに展開しない場合には
 $script  = (isset($_SERVER['HTTPS']) ? 'https://' : 'http://'); // scheme
 $script .= SERVER_NAME; // host
 $script .= (SERVER_PORT == (isset($_SERVER['HTTPS']) ?443 :80) ? '' : ':' . SERVER_PORT);  // port
 $script .= $_SERVER['PHP_SELF']; // PHP Script
上記の4行目を追加した4行を追加してやることでうまくいきました。-- [[wataru]] &new{2009-06-27 (土) 21:34:56};
- 対応しました commit:50c75c5ec7 -- [[umorigu]] &new{2017-09-04 (月) 03:18:06};
-- commit:f8fd087d46 と合わせて、ポート番号による判定ではなく、($_SERVER['HTTPS'] が 'on') または ($_SERVER['REQUEST_SCHEME'] が 'https') の場合に https:// をURLに設定するようにしました。この判定が合わない場合は、pukiwiki.ini.php で $script を設定できます -- [[umorigu]] &new{2017-09-04 (月) 21:47:21};
- 対応しました commit:6785d8bbd5 -- [[umorigu]] &new{2017-09-04 (月) 03:18:06};
-- commit:87416fbe41 と合わせて、ポート番号による判定ではなく、($_SERVER['HTTPS'] が 'on') または ($_SERVER['REQUEST_SCHEME'] が 'https') の場合に https:// をURLに設定するようにしました。この判定が合わない場合は、pukiwiki.ini.php で $script を設定できます -- [[umorigu]] &new{2017-09-04 (月) 21:47:21};

#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.050 sec.

SourceForge