🦔

URL内の「ユーザー名」は合っていなくてもいいみたい

に公開2

kwsk

Zennのような記事のURLやX(旧Twitter)のポストのURLなどには 「ユーザー名」 が含まれていますが、ここの文字列は間違っていても目的の場所へ到達できます

X(旧Twitter)のポストのURLは以下の形式です。

https://x.com/ユーザー名/status/ポストID

https://x.com/NrlhL93445/status/2001502064288186403
https://x.com/NrlhL93445/status/2001502064288186403

NrlhL93445が私のアカウントの「ユーザー名」です。
この部分を別の文字列に変えても問題ありません。

https://x.com/XXXX/status/2001502064288186403
https://x.com/XXXX/status/2001502064288186403

URLの末尾に 「ポストID」 があるので、これが合っていれば良いようです。

なぜ?

Web畑の人間ではないので正直詳しいことはわからないのですが、このIDで一意にデータを特定できるのでそこからユーザーデータを取得しリダイレクトしているようです。

X(旧Twitter)は「ユーザー名」の変更ができるので、この機能が無かったらそのアカウントの過去のポストへのURLは全て無効になってしまいますね。
X ヘルプセンター - Xのユーザー名を変更する方法

実例

XのAPIを叩いてポストのデータを取得しても、帰ってくるレスポンスには基本的には「URL」は含まれていません。
https://docs.x.com/x-api/posts/get-posts-by-ids

ポストのURLを取得したい場合は「ポストID」を使って

https://x.com/_/status/ポストID

という感じで文字列を作成することでURLとすることが一応できます。
(「ユーザー名」が分かっているならちゃんと「ユーザー名」を入れた方がよさそうとは思います。)


おわりに

別に大した話ではないですが、私は初めて知った内容で軽く調べても情報はヒットしなかったので記事にしてみました。

先にも書きましたが、私はWeb畑の人ではないので何か助言等ありましたらコメントいただけると幸いです。

Discussion

rakiraki
  • URL rewrite って呼ばれる機能が使われています
  • URL の PATH 情報を異なる PATH に変換(リライト)してくれます(ドメインも変えられます)
  • Amazon さんの日本語URLも必要な部分は /dp/xxxxxxxx のとこだけで、後の情報、日本語の商品名とかは消してしまっても動きます
  • x の場合は status の後ろが投稿1つ毎の番号なのでそこだけあればいい、ということです
  • 一般的にはCDNや各クラウドサービスのロードバランサーやWebサーバ(nginxやhttpd)で書き換えをすることができます
  • ちなみに zenn にも同じような機能があって、 https://zenn.dev/raki/articles/2025-11-11_terraform_trivy のように自分で書いた記事だと指定されたパブリケーションにリダイレクトされます
1
NRLH LABNRLH LAB

情報ありがとうございます!!
「URL rewrite」っていうんですね。ここから色々調べて少し勉強してみます!