これはうまくいきます:
リーリー次の RewriteRule
この新しい URL を取得したいです:
リーリーこの古い URL から
リーリー私は次のようなさまざまな方法を試しました:
リーリー最後のフォルダーと一致する 20230204_ntdd
が問題の原因となっているようです。書き換えモジュールがオンになっています。
P粉1808446192023-09-12 00:18:54
0204
(MMDD) 部分が要求された URL に存在しないため、ハードコーディングする必要があります。幸いなことに、MMDD は 1 年に 1 つだけあります。
サーバー構成にアクセスできる場合は、1 対 1 マッピングを含む RewriteMap
を実装できます。そのマッピングは .htaccess
で検索できます。
それ以外の場合は、.htaccess
で次のようなことを行うことができます:
前述の 条件には、YYYY から MMDD への 1 対 1 のマッピングが含まれています。 $1
は RewriteRule
pattern から取得された 4 桁の年で、CondPattern は < em>TestString から取得されます。 used 生成された置換文字列内の %1
後方参照が取得されます。
ナレーション:
ただし、元のルールには SEO 上で潜在的な問題がいくつかあります。
リクエストされた URL では、オプションの末尾のスラッシュを許可します。ただし、どちらも同じリソースを返します。これらは厳密には 2 つの異なる URL であり、重複コンテンツ の問題が発生する可能性があります。 (末尾のスラッシュの有無にかかわらず) 2 つの URL を同時に受信できる場合は、(仕様に関係なく) 1 つの URL から別の URL にリダイレクトするのが理想的です。
大文字と小文字を区別しない一致を許可します。これにより、重複コンテンツの問題が発生する可能性があります。大文字と小文字が混合したリクエストがある場合は、外部リダイレクトを使用してリクエストを正規化/修正する必要があります。以下を参照してください:
.htaccess で URL を大文字から小文字に書き換える方法< /a>
既存の URL 構造 (サードパーティによってインデックス付けされている、またはリンクされている) を変更する場合は、別のディレクティブに外部 301 リダイレクトを古いものから新しいものへ順に実装する必要があります。検索エンジンの最適化を保護します。