サポート » 使い方全般 » パーマリンクを変更すると記事から画像ページへ飛べなくなる

  • 解決済 fstream

    (@fstream)


    PHPのバージョン:5.2.6
    MySQLのバージョン:5.1.34
    テーマはデフォルト、プラグインはすべて停止中、ブラウザはChromeです。

    「パーマリンク設定」で、それまで「数字ベース」だったものを
    「月と投稿名.html」に変更したところ、記事から画像表示ページへ飛べなくなりました。

    よく見ると、記事内の当該ページへのリンクURIは
    http://example.com/archives/post_ID(半角数字)/画像タイトル(全角)/
    となっていて、パーマリンク設定変更の影響を受けないでそのままなのにも関わらず、

    実際に画像を表示するページ(添付ファイルのページ)のURIは
    http://example.com/2008/10/リンク元記事タイトル(全角).html/画像タイトル(全角)/
    に変更されているために、リンク切れを起こしてしまっていました。

    パーマリンク設定を「数字ベース」に戻せば不具合も当然直るのですが、
    やはり後々つぶしがきくように.htmlをつけておきたいと思っています。
    この場合、記事からリンク先をひとつひとつ直していくしかないのでしょうか?

    添付ファイルのページのパーマリンクを変更しない方法、または
    各記事内のリンク先URIを一括変更する方法がありましたらご教示いただけると助かります。

    それともう一歩踏み込んで、添付ファイルのページのURIについてなのですが
    http://example.com/2008/10/リンク元記事タイトル(全角).html/画像タイトル(全角)/
    というのはあまりに不格好なので、できればこちらも末尾.htmlにしたいと思っています。
    それを実現する方法はあるでしょうか?

    以上です、どうぞよろしくお願いいたします。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック投稿者 fstream

    (@fstream)

    半分だけ自己解決しましたのでご報告します。

    「添付ファイルのページのパーマリンクを変更しない方法、または
    各記事内のリンク先URIを一括変更する方法」ではないのですが、

    Permalink Redirect プラグイン
    http://scott.yang.id.au/code/permalink-redirect/

    を導入することで、新しいURIにリダイレクトさせることができました。

    それともう一歩踏み込んで、添付ファイルのページのURIについてなのですが
    http://example.com/2008/10/リンク元記事タイトル(全角).html/画像タイトル(全角)/
    というのはあまりに不格好なので、できればこちらも末尾.htmlにしたいと思っています。
    それを実現する方法はあるでしょうか?

    に関しては引き続きお伺いしたいと思います。
    よろしくお願いいたします。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    「後々潰しが効くように」という目的ならば、URL に .html を入れるべきではありません。
    クールな URI は変わらない」を熟読してみてください。

    ただし、WordPress の数字ベース URI は、エクスポート→インポートすると post_id が変化してしまうことがあるため、あまりいい方法とは言えません。未来永劫変化しない URL にするには、年月日+投稿スラッグがベストです。(投稿数が少なければ、年月+スラッグもあり)。

    トピック投稿者 fstream

    (@fstream)

    リプライありがとうございます。リンク先拝読しました。

    「潰しがきく」ということの意味が明確でなかったので補足させていただきますと、「近い将来もしWordPressの利用をやめることにした場合にも、被リンクのついたコンテンツを同じURIで保護できる手段を残しておきたい」という意図でした。

    ページ数が増えてくればわたしはDreamWeaverなどのオーサリングツールを使用することになりますが、その場合CoolURIを使用していると何かと不便です。

    また今後、htmlではないファイルフォーマットでウェブサイトを構築することが標準になった時に被リンクを維持するためには、その際に.htmlが付いたURIへのアクセスに対して301リダイレクトをかけるように対処するのが現実的だと考えています。

    あくまで、アクセスの少ない個人サイトを運営するわたしに関しての話ですが、WWWにはこれだけたくさんの.htmlファイル、そして.htmlへのリンクが存在するのですから、上のような考えは決して独りよがりではないのではと考えますが、いかがでしょうか。
    (議論をしたいというわけではなく、わたしの考えに至らない部分があればご指摘いただけると理解を深められますので助かります。)

    未来永劫変わらない(と現時点で推測される最良の)URIにするために現時点での利便性を捨てるのは、わたしにとっては現実的ではない気がします。

    「現実的」と繰り返してしまいましたが、つまり現時点での利便性を確保するために.htmlを付加しておきたいというのは勉強不足なのでしょうか?

    もし上記のような理由がWWWで受け入れられないということであればどうかご指摘ください。
    また逆に、ご理解いただけるのであれば、引き続き末尾を.htmlにする方法についてご教示をいただければ幸いです。
    以上よろしくお願いいたします。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    「潰しがきく」ということの意味が明確でなかったので補足させていただきますと、「近い将来もしWordPressの利用をやめることにした場合にも、被リンクのついたコンテンツを同じURIで保護できる手段を残しておきたい」という意図でした。

    わたしもこの意図であると思っています。そして、その理念および手段を明文化した文書として「クールな URI は変わらない」を紹介しました。

    ページ数が増えてくればわたしはDreamWeaverなどのオーサリングツールを使用することになりますが、その場合CoolURIを使用していると何かと不便です。

    それはあなたの都合です。「クールな URI は変わらない」では、そういう作成者の都合を閲覧者に押し付けるから問題が起きるということを書いていたと思うんですが……。

    あくまで、アクセスの少ない個人サイトを運営するわたしに関しての話ですが、WWWにはこれだけたくさんの.htmlファイル、そして.htmlへのリンクが存在するのですから、上のような考えは決して独りよがりではないのではと考えますが、いかがでしょうか。

    これは「クールな URI は変わらない」を読んでない/知らない人が多すぎるだけでしょう。多数決は必ずしも正しいわけではないのです。

    「現実的」と繰り返してしまいましたが、つまり現時点での利便性を確保するために.htmlを付加しておきたいというのは勉強不足なのでしょうか?

    「クールな URI は変わらない」を読んでそういう理解をされるのであれば、それはあなたの読解力および想像力が足りないです。
    脚注部分にある「どうやったら拡張子なしのURIにすることができるのですか」を読めば、html なしの URI を構築する方法が書いてあります。ただし、これを実現するにはサーバー管理者の手助けが必要です。これに対して「現実的でない」と考えるのは仕方ないでしょう。

    でも、スラッシュ (/) 止めの URI にしておいて、すべからく index.html ファイルを作る方法は現実的かつ理想的です。例えば、http://example.com/2010/01/07/hello/ という URI にしておけば、静的ファイルで作るには /2010/01/07/hello/index.html というディレクトリー・ファイル構成で可能です。これならば、将来、/ に対するデフォルトのファイルが default.xml とかになっても安心です。管理の手間は少々かかりますが、DreamWeaver 等でも実現できるはずです。

    う~ん、質問に対する回答ではなく、「こうすべき」という回答になりすぎていませんか?
    広く知ってもらうためにも理想論を説くのはいいのですが、せめて質問への回答を示すべきかと。

    私の答えとしては、ちょっと無理そうです、になってしまいますが・・・
    理由はwordpressのパーマリンク設定で.htmlを付加している時点で途中の.htmlを抜くことは難しいかと。ページのURIに.htmlを付加する.html on pagesなんてプラグインもあるくらいですから、末尾.htmlはプラグインでも自作すれば可能かもしれませんけど。
    私の知識ではこれが限界です(汗)

    モデレーター IKEDA Yuriko

    (@lilyfan)

    広く知ってもらうためにも理想論を説くのはいいのですが、せめて質問への回答を示すべきかと。

    うーん。わたしの回答は明確で「.html なんてダサい URL 体系はあきらめて、スラッシュ(/)のURLのままにしておきなさい」ということです。「どうしても html を付けた URL 体系ではないと困る」事例ではないため、html を付けるとをあきらめてもらうような回答にしているわけです。

    トピック投稿者 fstream

    (@fstream)

    shokun0803様、lilyfan様、ご回答ありがとうございます。
    まず、結論としては末尾.html自体は実現できなさそうだということで理解しました。

    > lilyfan様

    重ねてのご回答ありがとうございます。
    以下はいただいたご意見に関しての回答です。

    それはあなたの都合です。「クールな URI は変わらない」では、そういう作成者の都合を閲覧者に押し付けるから問題が起きるということを書いていたと思うんですが……。

    これは「クールな URI は変わらない」を読んでない/知らない人が多すぎるだけでしょう。多数決は必ずしも正しいわけではないのです。

    この2点に関しましてですが、わたしが「クールな URI は変わらない」に関してずいぶんと浅読みをしたようにお思いになっているようなので、補足をさせていただきたいと思います。
    わたしが強調したいのは、現実というものは理想論よりずっと柔軟である、ということです。
    もしこの先、.htmlがWWWへのパブリッシングとして「古い」手段になったとしたとき、その移行というのは、大量のデッドリンクを置き去りにしたまま突然に全世界的に起こるでしょうか。いえ、起こりえません。
    .htmlだけでなく.jpg、.gif、.pdfなど様々なファイルへのリンクは、技術の変化と、ファイルが必要とされる度合いに応じて保全され、なだらかに移行します。そしてそれをサポートする技術またはサービスが必ず出現します。
    「WWWにはこれだけたくさんの.htmlファイル、そして.htmlへのリンクが存在するのですから、」と申し上げたのは、多数決で「みんながやっているじゃないか」という意味ではなく、そこに上記のようなサービスを提供する市場規模があるということを申しているのです。
    それが「現実的」と申し上げた根拠です。

    でも、スラッシュ (/) 止めの URI にしておいて、すべからく index.html ファイルを作る方法は現実的かつ理想的です。(中略)管理の手間は少々かかりますが、DreamWeaver 等でも実現できるはずです。

    これは本気でおっしゃっているのか分かりませんが、たとえば300エントリと添付ファイルページが700あったら1000ディレクトリ作って管理しろとおっしゃるわけでしょうか?
    もちろん技術的には可能ですが、あまりに「非現実的」ではありませんか。少なくとも「少々」というレベルは逸脱していますよね。
    それに、この方法で解決できるのは.htmlへのリンクだけです。jpg、gif、css、swf、pdf…多数の”拡張子付きのファイルへのリンク”に関して、現時点ではコンテントネゴシエーション導入による不便さを払拭する手段は整備されていませんし、多くの人間がレンタルサーバーを利用している現状にフィットするものではありません。

    また、ディレクトリの存在概念からも外れてしまいます。”Webでの理想”を追うためにローカルPCのオペレーションレベルでの”理想”および”現実”を丸ごとないがしろにするのは片手落ちではないでしょうか。

    理想を追うことはとても大切ですし、わたしも、見解の足りないと思われる方と理想の狭間で苦労することがありますから、おっしゃることの意図はとてもよくわかります。
    ただ、CoolURIが広まらないのは、「読んでない/知らない人が多すぎるだけ」なのではなく、上記のようなデメリットが今のところ放置され、現状はメリットを大きく上回っているということが何より大きいのです。その点は理解をしていただきたいと思います。
    その現実から目をそらしたとたんに、理想は「目標」から「実現不能なただの理想論」に転落してしまうでしょう。

    短文ではまた誤解を受けそうでしたので長くなってしまいましたが…わたくしからは以上です。
    お二方とも、貴重なお時間を割き丁寧にご回答くださいまして誠にありがとうございました。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「パーマリンクを変更すると記事から画像ページへ飛べなくなる」には新たに返信することはできません。