質問

彼らはすでにインデックス化されているので、私は、私のウェブサイトの古いURLの一部を取得し、新しいものに301リダイレクトを行う必要があると私たちは、変更後に関連性を失いたくはありません。古いURLは実際には非常に醜いと私はそれが動作しない書き換えるために実行しようと、いくつかの理由のすべてのためです。ここでは、次のとおりです。

http://www.mywebsite.com/ExibeCurso.asp?Comando=TreinamentoGeral&codCurso=136&Titulo=Como%20Estruturar%20um%20Sistema%20Gerencial%20de%20Controles%20Organizacionais,13

基本的に、私のような何かにそれを翻訳する必要があります:

http://www.mywebsite.com/curso/136

私は、ユーザーが「ExibeCurso.asp」を入力したかどうかを確認する必要があり、古いURLから。その後、私はここで彼を送信する必要があります知っている:/ curso。私はまた、クエリ文字列パラメータ「codCurso」(136)にあった整数をつかむ必要があります。私はこのために使用しなければならない正規表現とは何ですか。私は基本的にはIIS上でのhtaccessを実装ISAPI_Rewrite 3を、使用していますので、構文の面では差があってはなりません。おかげます。

役に立ちましたか?

解決

このルールを試してください:

RewriteCond %{QUERY_STRING} ^([^&]*&)*codCurso=([0-9]+)(&.*)?$
RewriteRule ^/ExibeCurso\.asp$ /curso/%2? [L,R=301]

しかし、私はISAPI書き換えがスラッシュで開始するパターンを必要とするかどうかはわからない。

他のヒント

私の頭の上から、このような何かが動作するはずます:

RewriteRule ^ExibeCurso.asp(.*)$ http://www.mywebsite.com/curso/$1 [L,R=301]

これは、少なくとも接続されているすべてのパラメータを使用して/ / cursoにトラフィックを送信します。多分それはそこからそれを処理するのがベストです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top