これにタイトルを付ける方法がわかりませんでした。多くの調査の後、必要なものが見つかりません。うまくいけば、これを十分に説明できます!
私の URL 構造は によって処理されますindex.php
。これは URL 全体を取得し、/ を分割して配列に整理し、ユーザーの転送先を確認します。ここに例として。
現在、ほとんどのガイドの問題htaccess
は、事前に設定されたクエリ文字列ではなく、既知のクエリ文字列の使用に基づいて例を示していることです。URL を取得して分割しているため、無限に長くなる可能性があります。別の例として、上記に新しいサブキャットを追加できます。
そして、これはまだ適切に転送されます (基本的に、スクリプトは自動的に最初のアイテムを取得してテンプレートをプルし、次にプルする記事 ID として使用する最後のアイテムを取得します。その間にあるものはすべて、独自のテンプレートを持つこともでき、そうでない場合は、サブカテゴリ内のすべてのアイテムを表示する一般的なもの)。
htaccess
後ですべてを取得し、mysite.com/
それを単一のクエリとしてプルしてインデックスに渡すために使用しようとしています。元。(上記を使用):
URL入力:www.mysite.com/?cat1/subcat1/subcat2/subcat3/subcat4/page1
index.php に渡されるクエリ:cat1/subcat1/subcat2/subcat3/subcat4/page1
ここでの目標は、最終的に「?」を削除することです。mysite.com/
URLをクリーンアップした後、より似ていmysite.com/cat1/subcat1
ます。
私の研究に関しては、既知のクエリ文字列 ( など?cat1=&subcat1=
) に基づいたものしか見つけることができませんでしたが、異なるものは異なる深さを持つため、動的である必要があります。htaccess
これが私のインデックス側の出番ですが、分析のためにクエリ全体を1つの文字列として転送する方法がわかりません。
どんな助けでも大歓迎です。うまくいけば、これは理解するのに十分明確でした. ご不明な点がございましたら、お気軽にお問い合わせください。
前もって感謝します!
アップデート
だいぶ効いてきました。これが私が今使っているコードです:
RewriteRule ([^/]+) index.php?%{REQUEST_URI}%{QUERY_STRING} [nc]
これはほとんどの場合機能しますが、常に配列項目を次のように設定します。
0 => 空
1 => index.php
2 => (クエリの最初の部分、例: "cat1")
上記のコードをさまざまな方法で変更しようとしましたが、知識が不足しているため、適切にセットアップすることができなかったと思います (多かれ少なかれ、配列スペース 3 にあるものはスペース 0 にある必要があり、現在の 0 /1 (empty/index.php) を削除する必要があります。