0

以下のタイプのURLのhtaccess301リダイレクトを作成するのに助けが必要です。

合計で約500の製品がありますが、URLごとにリダイレクトを作成するのではなく、非常にかさばり、時間がかかります。ある種の正規表現の一致を作成するための、まだ見つけていない簡単な方法があることを願っています。 ?

旧:http ://www.example.co.uk/test-product-name-slug/prod_233.html

新規:http ://www.example.co.uk/test-product-name-slug-233​​.html

新しいURLにアクセスするには、..... example.co.uk/-223.html ......を参照してから、.....example.co.uk/test-product-nameに書き換えます。 -slug-233​​.html

したがって、着信訪問者がprod_idを含むURLにアクセスし、-idにリダイレクトしているかどうかを検出する方法が必要であるように思われます。

すべてが理にかなっていることを願っています。

4

1 に答える 1

0

うまくいけば、これはあなたが探しているものです。の 1 つのディレクトリとのみ一致します。

/some-product_name-random/prod_9393.html=>/some-product_name-random-9393.html

.htaccess

RewriteEngine on 
RewriteBase /

RewriteRule ^([a-zA-A-_]+)/prod_([0-9]+)\.html$ /$1-$2.html [R=301,L,QSA]

正規表現とパラメータの説明

([a-zA-A-_]+)商品名と一致$1

prod_([0-9]+)商品IDに一致$2

[R=301]301パーマネントリダイレクト

[L].htaccess スクリプトを停止します (削除される可能性がありますが、通常は、さまざまなシナリオで複数のルールを使用する場合に特定のルールを使用することをお勧めします)

[QSA]クエリ文字列を保持domain.com/somepath/page.html?querystring=value&otherstuff( ?...)

于 2013-03-12T21:45:33.827 に答える