#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