私は、ファイル拡張子を削除するために完全に機能するURL書き換えを行っています。しかし、response.redirect
を使用すると、URLの書き換えは行われません。奇妙なことに、これは、URLが相対パスではなく完全パスを使用している場合にのみ発生します。たとえば:URL書き換えルールとSSL証明書を使用したドメイン間のresponse.redirect
response.redirect("http://example.com/page")
はresponse.redirect("/page")
が細かいhttp://example.com/page.asp
のに対し、私に与えます。
URL書き換えコード:
<rule name="rewrite asp">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" negate="true" pattern="(.*).asp" />
</conditions>
<action type="Rewrite" url="{R:1}.asp" />
</rule>
私は、私は1つのドメインから別のつもりですので、完全なパスを使用する必要があります。何か案は?
その後、/redirect?url=<%=Server.URLEncode("http://example.com/page.asp")%>
redirect.aspで:あなたは多分このような何か試すことができます
DOH、申し訳ありませんが、それはだServer.Transferの –
は確かにああ、ええ、私は試したこと1、それうまくいかなかった。 – greener
最後に、クエリ文字列を追加してみてください。 'response.redirect( "http://example.com/page/?test=1")' –