wordpress時代のurlをはてなブログへリダイレクトする話

wordpressからの移行でurlのディレクトリ周りが変わったり/?=123が変わったので対応した

もしそんなことしたら遅くなるぞ、その書き方はちょっと...とかあったら教えてほしい

設定 -> 詳細設定 -> 要素にメタデータを追加

<script type="text/javascript" language="javascript">
window.onload = function() {
  var urlParams = new URLSearchParams(window.location.search);
  var pParam = urlParams.get('p');

  if (pParam) {
    var newUrl = 'https://astail.net/entry/%3Fp%3D' + pParam;
    window.location.href = newUrl;
  }
};
</script>

これで一応https://astail.net/?p=1040だったらhttps://astail.net/entry/%3Fp%3D1040へ飛んでくれてるっぽい

話題のgpt4様の説明

このJavaScriptコードは、ウェブページが読み込まれたとき(window.onload)に実行されます。主な機能は以下の通りです:

URLのクエリパラメータを取得します。これはURLSearchParams(window.location.search)を使用して行われます。window.location.searchは現在のURLのクエリストリング(?で始まる部分)を返します。

次に、urlParams.get('p')を使用して、クエリパラメータpの値を取得します。例えば、URLがhttp://example.com/?p=123であれば、pParamは123になります。

pParamが存在する場合(if (pParam))、新しいURLが作成されます。この新しいURLはhttps://astail.net/entry/%3Fp%3DにpParamの値を連結したものです。例えば、pParamが123であれば、新しいURLはhttps://astail.net/entry/%3Fp%3D123になります。

最後に、window.location.href = newUrl;を使用して、ブラウザを新しいURLにリダイレクトします。

このコードは、特定のクエリパラメータを持つURLから別のURLにユーザーをリダイレクトするために使用されます。この場合、元のURLのpパラメータの値が新しいURLの一部として使用されます。