フォーラム

WordPressのパーマリンクのURL・大文字小文字 (6 件の投稿)

  1. milden
    メンバー
    3 週前の投稿 #

    WordPressのパーマリンクに関して質問です。

    たとえば、パーマリンク設定で「日付と投稿名」を選ぶとこういうURLになります。
    http://example.com/2009/11/02/sample-post/

    この場合に、
    http://example.com/2009/11/02/Sample-Post/
    http://example.com/2009/11/02/SAMPLE-POST/
    http://example.com/2009/11/02/samplE-poST/
    などのURLでも同様に表示されるのですが、これは普通の動作なのでしょうか。
    それとも、設定の問題なのでしょうか。

    そして、これが普通の動作の場合、全部小文字のURLでしかアクセスできなくしたり、他の場合のURLから転送したりということは可能でしょうか?

  2. lilyfan
    メンバー
    5 日前の投稿 #

    この場合に、
    http://example.com/2009/11/02/Sample-Post/
    http://example.com/2009/11/02/SAMPLE-POST/
    http://example.com/2009/11/02/samplE-poST/
    などのURLでも同様に表示されるのですが、これは普通の動作なのでしょうか。

    おそらく仕様ですね。ぴったり該当する URL がなくても、似たものがあればそれを表示する仕組みになっているためです。

    そして、これが普通の動作の場合、全部小文字のURLでしかアクセスできなくしたり、他の場合のURLから転送したりということは可能でしょうか?

    redirect_canonical フィルターを使って除外するとかの方法なら可能だと思われます。wp-includes/canonical.php を読んでみてください。

  3. nobita
    メンバー
    2 日前の投稿 #

    こんにちは、mildenさん

    これは普通の動作なのでしょうか。

    URLの大文字小文字を区別するしないは、wordPressの問題というより、OSに関係する問題だと思います。

    windows上のサーバでは動作したとしても、区別するサーバもあるので、大文字と小文字は、区別すべきだと思います。

    参考まで、UNIX上のhttpサーバって何で大文字小文字の区別があるんですか

  4. milden
    メンバー
    2 日前の投稿 #

    nobitaさん:

    windows上のサーバでは動作したとしても、区別するサーバもあるので、大文字と小文字は、区別すべきだと思います。

    ご解答ありがとうございます。
    しかし、レンタルサーバ(Linux)でそうなります。

    なのでlilyfanさんのおっしゃるとおりなのだと思います。

    おそらく仕様ですね。ぴったり該当する URL がなくても、似たものがあればそれを表示する仕組みになっているためです。

    たとえばWordPress 日本語ローカルサイトで、
    http://ja.wordpress.org/2009/11/18/wOrdprEss-wiNs-cms-awArd/
    というURLでアクセスが可能です(これはちょっと・・・と思うのですが)。

  5. nobita
    メンバー
    2 日前の投稿 #

    mildenさん

    しかし、レンタルサーバ(Linux)でそうなります。

    最初に、ご提示いただいたURLの検証に失敗していました。軽率でした。

    助言頂いたことで、とてもよい勉強になりました。

    http://ja.wordpress.org/wOrdprEss-wiNs
    でも、URLが書き替えが生じますが、リダイレクトしますね

    クエリストリングだったらなんでもない事なんですが、誰かが、「キャッシュさせないテクニック」なんて言いながら、大文字小文字を切り替えてアクセスするリンクを張ったら無数のコピーを公開しているのと同じことになるかもしれない等と、想像を膨らませたり、考えさせられたりしました。

    ありがとうございました。

  6. manjilab
    メンバー
    12 時間前の投稿 #

    おそらく仕様ですね。ぴったり該当する URL がなくても、似たものがあればそれを表示する仕組みになっているためです。

    と言うより「MySQLでの該当カラムがBinary属性ではないので大文字/小文字を区別しないため」だと思われます。
    (実際にデータベース内のpost_nameに対して検索をかけると大文字/小文字の区別なくマッチします。)
    WordPressのソースコードを読む限り、とくに変わった処理をしてはいないようでした。

    このようなプラグインを見つけましたがいかがですか?
    permaLowercase301 - Plugin Directory
    マッチしない場合はちゃんと301でリダイレクトしてくれるようです。

返信

ログイン しなければ投稿できません。

About this Topic

Tags