せっかく設置しているdmozの殻プログラムdwodp。
どうも、Yahooにはフォルダとしてキャッシュされていない。。
通常は
http://souko.web.infoseek.co.jp/cgi-bin/dwodp/dir/Regional/Asia/Japan/
このようにURLを表現している。
ただYahooにキャッシュされたURLは最後のスラッシュがないものになって
http://souko.web.infoseek.co.jp/cgi-bin/dwodp/dir/Regional/Asia/Japan
となってしまっている。(改造後ですのでどちらも同じように表示される。。はず)
通常のフォルダ階層の場合、サーバーかブラウザの方で判断して最後に
スラッシュ「/」をつけてくれるのですが、プログラム的にファイルが存在すると
認識してしまい、内容の空っぽなページが表示されてしまいます。
.htaccessで転送することを想定しましたが、使えないサーバもあり、phpのほうで
判定・同一URLと認識するように改造しました。
メインのphp。。index.phpかな?
自環境では名前を変えているので元のファイル名が不明
変更前 67~69行目あたり
}// Clean up category for invalid characters
変更後
}$c_end=substr($browse,-1);
if ($c_end != “/”) {
$browse=($browse.”/”);
}
else {
$browse=$browse;
}// Clean up category for invalid characters
こんな感じ。。ちょっと適当に作っただけですので保障しません。
ようは、URLの最後にスラッシュ「/」がなかったら変数には付けとけぇ的なヤツです。
Yahooから検索で飛んできてもちゃんと表示されるようにはなったようです。
こちらのdwodpも改造しておきました
コメント
dwodpの改造
こちらでも行ったdwodpの改造。 アクセス解析を行っていると結構検索してdwo…
DWodp liveの改造
Yahoo! からのアクセスで空ページが表示される件。 こちらのブログで原因と修…