URLの正規化について
- このフォーラムに新規トピックを投稿できます
- このフォーラムではゲスト投稿が許可されています
投稿ツリー
-
URLの正規化について (SAT, 2011/8/12 10:47)
-
Re: URLの正規化について (なーお, 2011/8/12 13:15)
-
Re: URLの正規化について (SAT, 2011/8/16 13:08)
-
Re: URLの正規化について (なーお, 2011/8/16 16:11)
-
Re: URLの正規化について (SAT, 2011/8/17 3:39)
-
Re: URLの正規化について (なーお, 2011/8/17 10:08)
-
Re: URLの正規化について (SAT, 2011/8/18 7:16)
-
Re: URLの正規化について (なーお, 2011/8/18 9:16)
-
Re: URLの正規化について (SAT, 2011/8/24 2:20)

お世話になります。
weblogD3のインポートの件など、大変お世話になりました。
時間が取れなくて、まだ本サイトの方へ稼動はしていないのですが、
そろそろ着手しようかと思い、気になる点などがございましたので質問させて頂きます。
d3diaryの日記個別ページのURLは、
http://www.exsample.com/modules/diary/index.php?page=detail&bid=xxx&req_uid=xxx
といったように、detail&bid=xxx&req_uid=xxxというパラメータになるかと思います。
&req_uid=xxxを排除して、detail&bid=xxxでも同ページにアクセスができ、ユーザー情報(サイドのアバターなど)もこれで表示されたので、出来れば個別ページのURLを
http://www.exsample.com/modules/diary/index.php?page=detail&bid=xxx
と統一して頂く事は出来ないでしょうか?
ソースを詳しく拝見していないので、間違っていたら申し訳ございませんが、テンプレートのみで修正できるレベルであれば、独自に修正をしようと思いますが、PHPの中にも記載されていると、バージョンアップの度にマージが必要となるので、可能であればURLの統一をして頂けると助かります。
また、これも個人的なことで恐縮ですが、
weblogD3からインポートした後、検索エンジン最適化の為に、.htaccessで301リダイレクトを行おうと思っております。
現状weblogD3の方の日記の個別ページURLは、
http://www.exsample.com/modules/weblogD3/details.php?blog_id=xxx
としているので、
d3diaryの方で、index.php?page=detail&bid=xxxとなれば、xxxの部分だけで済むので、リダイレクトも簡単に行えるので助かります。
これが、&req_uid=xxxが付加されると、ちょっと簡単にはリダイレクトをする方法が思いつかないので・・・
というのも、特にGoogleでは重複コンテンツを嫌う傾向があり、可能な限り自身でURLを正規化した方が良いと思われ、今回このような質問をさせて頂きました。
本音をいうと、
http://www.exsample.com/modules/diary/detail-xxx/
というような、パラメータ表記がないURL表示が希望ですが、これは結構大変な作業かと思いますので、
とりあえずは、&req_uid=xxxが無くても動作に支障が無いかをお尋ねしたいのと、可能であれば、配布側で統一して頂けると幸いです。
わかりにくい文章で申し訳ございませんが、
ご検討頂けますと幸いです。
宜しくお願い申し上げます。

SATさん、こんにちは。
1、req_uidについて
req_uidパラメータをできるだけ表示させているのには、理由がありまして。
ログインメンバーが、日記ページを表示中にイベント通知の設定をする際に、URL内にこのreq_uidがあることで、「表示中ユーザー」の「日記投稿時」「コメントが付いたとき」のイベントを表示することができるようになっています。
この点は、xoopsのnotificationの仕組みを使っているため、特にxoops2系やJPExなどでは小細工がきかず、定石的にURLに仕込んでいます。
但し、XCL2.1以降では、detailページ表示時に$_GET['req_uid']を上書きする処理ができるので、URLにreq_uidパラメータが無くても、記事執筆者のイベント通知が表示されるようにしてあります。
結論としては、記事毎のURLにはreq_uidを削除いただいても構いません。 メインページ内やブロック内のリンクにあるreq_uidの削除は、ほとんどの物がテンプレートで編集可能と思います。
2、ラッパー表示について
(html)側のルートフォルダに、「detail.php」のほかに「details.php」があるのをご存知でしょうか。 これは、d3blogからの移行ユーザー用にラッパーファイルの役目を果たし、検索サイトなどの既存の検索結果のままで記事の表示ができるようにしてあります。
weblogD3の場合は、記事番号がbidではないため、blog_idパラメータをbidパラメータに書き込み処理をここに追記しておけば、インストールディレクトリ名を合わせることで同様にラッパー動作をしてくれるはずです。
手順としては、一度適当なディレクトリ名のd3diaryにインポートした後で、weblogD3をアンインストールし、d3diaryをweblogD3がインストールしてあったディレクトリ名でもう一つインストールしてから、再度インポートする、という作業になると思います。
以上、よろしくお願いします。

なーおさん、ご回答頂きましてありがとうございます。
返信・確認が遅れて申し訳ございませんm(_ _)m
詳しいご説明ありがとうございます!
但し、XCL2.1以降では、detailページ表示時に$_GET['req_uid']を上書きする処理ができるので、URLにreq_uidパラメータが無くても、記事執筆者のイベント通知が表示されるようにしてあります。
結論としては、記事毎のURLにはreq_uidを削除いただいても構いません。 メインページ内やブロック内のリンクにあるreq_uidの削除は、ほとんどの物がテンプレートで編集可能と思います。
今はxoops2.0.16aですが、ちょうどXCL2.2へアップグレードしようと考えていたので、req_uidは削除しても大丈夫そうで安心しました
2、ラッパー表示について
(html)側のルートフォルダに、「detail.php」のほかに「details.php」があるのをご存知でしょうか。 これは、d3blogか らの移行ユーザー用にラッパーファイルの役目を果たし、検索サイトなどの既存の検索結果のままで記事の表示ができるようにしてあります。
すいません、details.phpは見ておりませんでした。
とても便利な物を色々用意していただいているようで助かります
ただ、内容を見ても勉強不足でよく理解が出来ていないのですが、
weblogD3の場合は、記事番号がbidではないため、blog_idパラメータをbidパラメータに書き込み処理をここに追記しておけば、インストールディレクトリ名を合わせることで同様にラッパー動作をしてくれるはずです。
$_GET['page'] = 'detail';
の箇所を変更または追加をするのかな??と思いましたが、
具体的にどうすれば良いのか理解できませんでした><
宜しければ教えていただく事は可能でしょうか?
何度もお手数をおかけして申し訳ございませんm(_ _)m
よろしくお願い申し上げます。

SATさん、こんにちは。
Wrapperファイルのほうは、weblogD3にも機能するように、SVN上でアップデートしておきました。
次回の版で反映されますが、上記リンクからダウンロードして入れ替えていただければ動作確認ができると思います。
例えば、
http://www.naaon.com/modules/dblog1/details.php?blog_id=460
このURLで、私のブログページが正常に表示されるのを確認できます。
以上、よろしくお願いします。

なーおさん、ご返信有難うございます。
機能に追加して頂いて助かりました!
有難うございますm(_ _)m
$_GET['bid'] = $_GET['blog_id'];
を追記すれば良いんですね、勉強になります。
ところで、weblogD3と同じURLというのは理解できているのですが、
テンプレート上などの個別ページへのリンクは、
details.phpへと変更をすれば良いのでしょうか?
具体的には、http://www.exsample.com/modules/***/details.php?blog_id=xxx
といった感じかなと。
すいません、ラッパーなどの意味がわかっていないのですが、
リダイレクトされるわけではないのであれば、テンプレートの方のURLを変更させて頂きます。

SATさん
私はブログをcocolog→XCL+d3blog→同d3diaryと移行したので、その経験だけで申し上げますと、
ラッパーファイルは、既存リンク切れを防ぐ目的だけで設置しています。 今後d3diaryに完全に移行を決めるのであれば(後戻りしないということであれば)、ラッパーファイル以外の部分のURLリンク先ページは変更せず、 d3diaryの標準にしておくほうが、今後のメンテナンス上も間違いが減りますし、トラブルも少なくなると思います。
検索エンジンのほうが優秀ですから、元記事からのリンクさえ切れていなければ、その先のリンクは、そのうち検索エンジン側で置き換えてくれています。 実際、私の古い記事もいつの間にかd3diaryの新しいページURLに置き換わっていました。
その間、Googleのページランクが落ちる心配もしましたが、そういうこともありませんでした。
正規化については気になるようでしたら(req_uidを除去する件は)そうしていただくとして、それ以外はd3diaryのページ指定のままで行かれることを、わたしとしてはお勧めします。
では。

なーおさん、何度もご返信頂いて有難うございます。
ですよね、リダイレクト処理をするよりも、d3diary標準URLで運用をさせて頂こうかと思いました。
req_uidは除去するかもしれませんが、基本的にGoogleに関しては、
重複コンテンツは自動で処理をしてくれるみたいですし、
可能であれば、link rel="canonical"を導入して対応しようかなと考えております。
基本的に、ご教示頂いた上記手順にて移行をさせて頂こうと思います。
d3diaryから別のブログへというのは、現状ではとても考え難いので、これからもお世話になりますm(_ _)m
色々とお教え頂きまして、有難うございました。

