0

私は次のようないくつかの異なる質問を経験しました: すべての URL を書き換える

mod_rewrite は任意の数のパラメータを任意の名前で変換できますか?

htaccess での動的 URL の作成

これにより、1 セットの URL を domain.com/script2.php?d=1 から domain.com/(d) に変更することができましたが、今は答えが見つからない問題に悩まされています。現在、次のように設定された URL のセットがあります: domain.com/script.php?a=1

これらの URL を domain.com/(a) に変更する方法は知っていますが、変数 A は単なる数値識別子であるため、これはあまり役に立ちません。 domain.com/1 はあまり役に立ちません。

代わりに、実際には記述子の ProductName である変数 B です。だから私がしようとしているのは、domain.com/(a) ではなく、domain.com/(b) を取得できるようにすることです。合併症があります。元の設定で変数 A を使用した理由は、複数の製品が変数 B で同じ記述子を使用しているためです。そのため、それらを区別する変数 C も含める必要があるため、URL を domain.com/(b)-( にする必要があります。 c)。

ボーナス!domain.com/script2.php?d=1 から domain.com/(d) に変更した別のスクリプトがあると言ったことを覚えていますか? さて、この現在のスクリプトを domain.com/(b)-(c) ではなく domain.com/(d)/(b)-(c) として表示するように設定できたら最高です。 domain/(d) は実際にはこの他のスクリプトの検索ページであるため、これは非常に論理的なフローであり、ブラウジングを非常に簡素化し、ユーザーは検索と製品の間をあまり作業せずに直感的に移動できます。

これが可能かどうかはわかりませんが、助けていただければ幸いです。

4

1 に答える 1

1

すべてをスクリプト ファイルに書き直してみてはいかがでしょうか。

RewriteEngine on
RewriteBase /

RewriteRule .* index.php [L]

すべてを index.php に書き直します。そこから$_SERVER['REQUEST_URI']、PHP で変数を解析できます。そこから、指定された URL に基づいてロードするページを決定できます。

上記の書き換えルールの同じディレクトリに他のフォルダーがあるRewriteEngine Off場合、それらを index.php に書き換えたくない場合は、それらのフォルダー内に別の .htaccess ファイルを配置できます。これは、css ファイルまたはサイト イメージに必要なものです。

この方法を使用すると、いつでもこのようなことができます。domain.com/products/1 または domain.com/search/blahblah

于 2013-01-11T01:26:30.167 に答える