1

検索エンジン最適化を改善するために、e コマース サイトを改善しようとしています。より重要なことの 1 つは、古いものを使用しないように製品をセットアップすることです。

/detail.php?pid=367

代わりに、8 つのトップ レベルの猫のそれぞれの下に 3 つのサブ カテゴリを持つ 8 つのトップ レベルのカテゴリを設定しました。

たとえば、これらのカテゴリの 1 つは次のようになりますL

/safety-cabinets-fluid-handling/fluid-drum-carts/

今私がやりたいのは、これらのカテゴリの下に各製品のフォルダを作成することです。そのような:

/safety-cabinets-fluid-handling/fluid-drum-carts/Lubrigard-Handling-Cart/

私の考えでは、おそらく製品 ID を最後に含めるのが最善の方法であると思われるため、次のようになります。

/safety-cabinets-fluid-handling/fluid-drum-carts/Lubrigard-Handling-Cart/856

これは理にかなっていますか?そして、この状況で .htaccess に何を入れますか?

4

1 に答える 1

1

通常の方法である URL 構造ではなく、ID にパターンが含まれている限り、任意の URL 構造を持つことができます。

あなたの質問では、パターンはIDが数値であるという事実である可能性があるため、その構造に関係なく、それを保持する任意のURLからキャプチャできます。例えば:

http://example.com/cat1/cat2/ID/cat3また

http://example.com/cat2/ID/cat3/cat1

次のように、数値文字列を任意の位置でキャプチャするルールでは違いはありません。

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}  /([\d]+)/? 
RewriteRule .*  detail.php?pid=%1  [L,QSA]

次のように、着信 URL の ID を暗黙的にスクリプトに渡します。

http://example.com/detail.php?pid=ID

もちろん、URL の ID の前に他の数値文字列を含めることはできません。

ただし、ID を URL の最後の位置に固定したい場合は、上記のルール セットを次のルール セットに置き換えてください。

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} .*/([0-9]+)/?$
RewriteRule .*  detail.php?pid=%1  [L,QSA]
于 2013-01-10T22:54:48.737 に答える