バグ報告 > その他 > ログインを押すと、Not Found 。 |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
para4 |
投稿日時: 2008/9/1 16:12
対応状況: −−−
|
常連 登録日: 2008/6/30 居住地: 投稿: 42 |
Re: ログインを押すと、Not Found 。 ramrun 様
とりあえず、私は次のように直しました。 data/class/pages/LC_Page.php 254行目 変更前 $realPath = str_replace("\\", "/", $realPath) ; 変更後 $realPath = str_replace("\\", "/", $realPath) . "/"; ちゃんと、最後が"/"かどうか見てから追加するのがきれいなんでしょうけど、実害はないようなので... |
para4 |
投稿日時: 2008/9/2 11:15
対応状況: −−−
|
常連 登録日: 2008/6/30 居住地: 投稿: 42 |
Re: ログインを押すと、Not Found 。 data/install.phpのHTML_PATHから余計な文字を削除するようにした方がいいと思うのですが。
HTML_PATHのdefine場所が複数あると分かりずらいと思います。 |
ramrun |
投稿日時: 2008/9/3 0:39
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: ログインを押すと、Not Found 。 まず、seasoftさんのr17586はWIN&PHP5.2.6では直っていませんでした。
つぎにpara4さんの 引用: HTML_PATHから余計な文字を削除するようにした方がいいと思う ですが、ようするにHTML_PATHよりもrealpathが返す文字列が同じか、長くないと置換(削除)できないわけで。 ところがPHPのバージョンによってrealpathの最後の"/"が付いたり付かなかったりするから、HTML_PATHよりも短い場合がでてしまうと。 ではそれに合わせてHTML_PATHも変化させるの? といわれるとなんだかわかりづらいような気がします。 LC_Page.phpのgetRootPathを
から
にすれば、変に条件を付けずにいけると思うんですが。 2.3.0rc1とcomu-ver2ではHTML_PATHを作る処理が違うみたいですね。 なんかわかりづらい(汗)。 |
seasoft |
投稿日時: 2008/9/3 1:34
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: ログインを押すと、Not Found 。 > まず、seasoftさんのr17586はWIN&PHP5.2.6では直っていませんでした。
後で WIN&PHP5.2.5 でテストしたところOKだったのですが、 WIN&PHP5.2.6 はテスト環境がなく試せていません。 HTML_PATH がどのようになっているか教えていただければ、追跡できると思います。 http://svn.ec-cube.net/open_trac/changeset/17587 で削除したデバッグコードを復元すれば確認できると思います。 ちなみに、WIN&PHP5.2.5 では X:\www\html/ のような感じになります。 > 2.3.0rc1とcomu-ver2ではHTML_PATHを作る処理が違うみたいですね。 > なんかわかりづらい(汗)。 comu-ver2 側は動的に生成するように変更しています。 いずれは、正式版に取り込んでもらえる品質になればよいのですが、まだ道のりありそうですね。
|
ramrun |
投稿日時: 2008/9/3 8:21
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: ログインを押すと、Not Found 。 書き方が悪かったようですね(汗)。
直っていない=以前と一緒です。 その例でいくと
となります。 これはLC_Page.phpのgetRootPathより
青字の部分で
に直され、やはり赤字の部分でマッチしません。 そもそも、最後に"/"が付いたり付かなかったりしているのは$realPath側で、EC-CUBEの各バージョンをしっかりチェックしていませんが、HTML_PATHについては最後に必ず"/"をつけるようになっていませんか? なので動的にHTML_PATHを生成するとなると、 win PHP5.2.5では
win PHP5.2.6では
としないと$realPathとマッチしません。 私はHTML_PATH側を変化させるのがわかりづらいと思ったので、winでもUNIX系でも関係なく、LC_Page.phpのgetRootPathで↓のように処理したほうがいいのではないのかなぁと思った次第です。
|
para4 |
投稿日時: 2008/9/3 9:58
対応状況: −−−
|
常連 登録日: 2008/6/30 居住地: 投稿: 42 |
Re: ログインを押すと、Not Found 。 引用:
紛らわしい書き方ですみません。 ・顧客のログインと ・管理者画面へのログインと 二つの議論が書かれているので、話が合わなかったと思います。 余計な文字と言ったのは、oimoさんの投稿で install.php のHTML_PATHで(D:\HP\ec_cube\/)の様になっていたので、最後のスラッシュが余計なので、install.phpを生成するときに、つけないようにした方が良いということでした。 と、ここまで書いて気が付きましたが、私が試した範囲(v2.1.2,v2.3.0-rc)では、HTML_PATHに円マークはなくすべてスラッシュに置き換わっていますね。 環境の違いでしょうか... $rootPathの生成については、ramrunのコードがスマートですね。 |
seasoft |
投稿日時: 2008/9/3 10:02
対応状況: −−−
|
神 登録日: 2008/6/4 居住地: 投稿: 7367 |
Re: ログインを押すと、Not Found 。 修正したのは、
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=2104&forum=1&post_id=9938#forumpost9938 で oimo様より、ご指摘を頂いた部分に関してでした。 LC_Page.php の getRootPath() に関しては、何をしているのか把握していませんが、OSやバージョンによる分岐をせずに、ストレートに流せる処理は良いと思います。
|
ramrun |
投稿日時: 2008/9/3 11:33
対応状況: −−−
|
仙人 登録日: 2006/11/3 居住地: 投稿: 789 |
Re: ログインを押すと、Not Found 。 とりあえずコミュ版はおいといて。
2.1.2aでのwin phpのHTML_PATH生成の不具合は、2.3.0rc1のadachiさんの修正で直っていますよ? tags/eccube-2.3.0-rc1/html/install/index.php ですので問題はgetRootPathの部分だと思うのですが... 仮に
になってしまったとしても
を通せばOKになります。 あとは2.1.2aを直すのかどうかですよね。 |
motohira |
投稿日時: 2009/2/27 9:32
対応状況: 解決済
|
新米 登録日: 2009/2/27 居住地: 投稿: 1 |
Re: ログインを押すと、Not Found 。 横から失礼します。新米のmotohiraです。
私もログインの時とログアウト時の「Forbidden」に悩まされていましたが、その方法で解決しました。 ありがとうございました。 |
« 1 2 3 (4) |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |