*ポート80以外の場合のRSS [#v935e49e] -ページ: BugTrack -投稿者: [[nie]] -優先順位: 低 -状態: 提案 -カテゴリー: 本体バグ -投稿日: 2003-08-12 (火) 09:47:23 -バージョン: 1.3.5 **メッセージ [#n3f3ae02] ポート80以外でhttpを上げている場合、たとえば http://www.example.com:8080/pukiwiki.php になるのが本来だと思いますが、RSS上のURLは http://www.example.com/pukiwiki.php になっています。 ---- - 1.4でも同様です。xreaで:8080に設置されたPukiWikiは全滅かと。 -- [[ぱんだ]] &new{2003-08-20 (水) 11:17:47}; - (1.3.5)サーバ変数HTTP_HOSTが使えるなら、rss.phpの最初で define('HTTP_HOST',$HTTP_SERVER_VARS['HTTP_HOST']); とでもしておいて、SERVER_NAMEを全てHTTP_HOSTに置換するとうまくいくと思います。 -- [[ぱんだ]] &new{2003-08-20 (水) 11:17:47}; - (1.4)だと、rss.inc.php/rss10.inc.php $self = preg_match('#^https?://#',$script) ? $script.'?' : ($_SERVER['SERVER_PORT'] == 443 ? 'https://' : 'http://'). $_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'; というのを考えていますが、たぶん決定打ではありません。 -- [[ぱんだ]] &new{2003-08-20 (水) 11:17:47}; - この件に限らず、pukiwiki.phpのabsolute-uriを決定するうまい方法があればいいなと思うんですが、(cgi版はpathの取得が難しいので除外)、 ($_SERVER['SERVER_PORT'] == 443 ? 'https://' : 'http://'). $_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; で''うまくいかない''ことはあるのかな… -- [[ぱんだ]] &new{2003-08-20 (水) 11:17:47}; - init.php同様、きっちり作るとすれば… -- [[ぱんだ]] &new{2003-08-20 (水) 16:16:38}; // scheme $script = ($_SERVER['SERVER_PORT'] == 443 ? 'https://' : 'http://'); // host $script .= $_SERVER['SERVER_NAME']; // port $script .= ($_SERVER['SERVER_PORT'] == 80 ? '' : ':'.$_SERVER['SERVER_PORT']); // path $path = $_SERVER['SCRIPT_NAME']; if ($path{0} != '/') { if (!array_key_exists('REQUEST_URI',$_SERVER) or $_SERVER['REQUEST_URI']{0} != '/') { die_message("please set '\$script' in ".INI_FILE); } $parse_url = parse_url($script.$_SERVER['REQUEST_URI']); if (!isset($parse_url['path']) or $parse_url['path']{0} != '/') { die_message("please set '\$script' in ".INI_FILE); } $path = $parse_url['path']; } $script .= $path; -パッチを添付します。&ref(442.diff); これでどうでしょうか。 -- [[ぱんだ]] &new{2003-09-11 (木) 12:59:39}; #comment