2017-10-10 11 views
0

私は以前のサイトを置き換える新しいサイトを開発しています。私の目的は、古いサイトのリンクをバックアップサーバーにリダイレクトすることです例えば古いサイト私はすべてのURLルーティングを考え出しまでの時間のために生きる).Net URL特定のパスパターンを持つ別のドメインに書き換えます。

は、ここで私は私の新しいサイトが https://backup.example.com/category/something/hereに上記のURLをリダイレクトしたい古いリンク https://www.example.com/category/something/here

の一部です

私はRegexがうまくいかず、このようなことを試しましたどのようなアイデアは動作していませんか? tks

<rule name="Redirect URL" stopProcessing="true"> 
     <match url="^(.*)/category/(.*)" ignoreCase="true" /> 
     <action type="Redirect" url="http://backup.example.com/{R:0}" redirectType="Permanent" /> 
    </rule> 
+0

私はそれだけで時間の問題のためだ場合は、永続的なリダイレクトを行うべきではないと言うだろう。 –

+0

@RichardHubley - OPは "私は私の古いサイトの1つを置き換える新しいサイトを開発しています"と言った。これは、永続的なリダイレクトが適切なアプローチであることを意味します。 – NightOwl888

答えて

2

urlは、パスにのみ一致できます。実際のホスト名と一致させるには、{HTTP_HOST}を使用する必要があります。

<?xml version="1.0"?> 
<configuration> 
    <system.webServer> 
     <rewrite> 
      <rules> 
       <rule name="Redirect www.example.com or example.com to backup.example.com" stopProcessing="true"> 
        <match url="^category/(.*)" /> 
        <conditions> 
         <add input="{HTTP_HOST}" pattern="^(www\.)?example.com$" /> 
        </conditions> 
        <action type="Redirect" url="http://backup.example.com/category/{R:1}" redirectType="Permanent" /> 
       </rule>   
      </rules> 
     </rewrite> 
     <httpProtocol> 
      <redirectHeaders> 
       <!-- This is to ensure that clients don't cache the 301 itself - this is dangerous because the 301 can't change when put in place once it is cached --> 
       <add name="Cache-Control" value="no-cache"/> 
      </redirectHeaders> 
     </httpProtocol> 
    </system.webServer> 
</configuration> 

また、301リダイレクトのキャッシングをオフにする方法の例を示します。これは、ブラウザが301リダイレクト自体をキャッシュし、キャッシュが手動で消去されない限り、この構成に対して行った変更を無視するため、デバッグ中に問題を引き起こす可能性があります。

参考文献:

+0

返信用のtksが、R:0を完全に取り出し、url = "https://backup.example.com"だけを使用しても、リダイレクトは行われず、新しいサイトで404エラーが発生する –

+0

正しいURLにリダイレクトされましたか? – NightOwl888

+0

いいえ、まだwww.example.comにとどまっています。新しいサイトであるため、404エラーが表示されます。 Btw、wwwとバックアップは2つの別々のサーバーからホストされています –

関連する問題