0

IIS に Isapi Rewrite を使用しています。動的な製品ページの SEO に適した URL を作成したいと考えています。

2 つのクエリ文字列パラメーターでスペースを別の方法で置き換える必要があります。

最初のパラメーターでは、\s を + に置き換える必要があります。2 番目のパラメーターでは、すべての \s を - に置き換える必要があります。

#seo. 2 conditions. split on _ delimiter.
RewriteRule ^Store/([^_]+)_([^/]+) Store/Details.aspx?id=$1&name=$2  [QSA,NC]

#replace spaces with + in first condition (doesn't work)
#RewriteRule ^Store/([^\w\s]+)\s(.+)$ Store/Details.aspx?id=$1+$2  [QSA, NC]

#replace spaces with dash in second condition ???

Store/NP SP_name name
//$1: NP+SP
//$2: name-name
// output: Store/NP+SP_name-name

Store/mn%2098%20765_name%20name%20name
//$1: mn+98+765
//$2: name-name-name
//output: Store/mn+98+765_name-name-name
4

1 に答える 1

0

私は先日そのようなことをしましたが、1種類の交換だけでより簡単な作業がありました. 基本的なリダイレクトに次を使用してみてください (機能する場合は、より複雑な複数パラメーターのシナリオを考えます)。

RewriteRule ^Store/(.+)\s([^_]+)_(.+)\s(.+) /Store/$1+$2_$3-$4  [NC,R=301,L]

既存の書き換えの上に置くようにしてください。

于 2012-07-25T08:36:37.117 に答える