2009-05-07 6 views
0

私はIntelligencia UrlRewriterをプロジェクトで使用しています。Intelligencia.UrlRewriter

ブラウザに入力したURLを書き換えても問題ありません。私は

http://localhost/People 

を入力すると、例えば

が、これは正しくとして書き換えられている:

http://localhost/People.aspx 

私はフレンドリーにアクセスする必要があるの後ろのコードにいるときさて、問題は、ありますURLが必要ですが、Request.ServerVariablesは不親切なURLしか利用できないようです。

とにかく私はこのオリジナルのフレンドリーなUrlコードにアクセスできますか?または私は遅すぎますか?

答えて

2

ガットでの一つとして、パターンマッチングのために動作しない試合を見つけて、明らかにこれ

そこからマッチした値を使用するようにweb.configファイルにだけ明示的なルールをルールを通過することができそれはみんな。

@Nick Allen and Pure.Krome:ありがとうございました!

私はデータの一部が見つかりました:それはServerVariablesに存在する場合私は自分自身を叫ぶする必要はありませんので、私はそれを見ることができませんでしたが、結論には、データがある

HttpContext.Current.Request.RawUrl 

睡眠:)

いいえ。再度、感謝します!!あなたが使用するもの

+0

よくできた。私はこの投稿を見ていないと私のコードでデバッグをプレイしてもそれを発見した。 heh :)よくやった!数日後にあなた自身の答えをチェックすることができます。 –

+0

ありがとう、私は、ASPのフォームアクションをオーバーライドするフレンドリーなURLを取得する方法(またはドキュメント)を探していた - 今できる! :Dもう一度ありがとう。 –

0

私はそれを使用しています..私は2年前に思っていました。 (ありがとうございGAWD IIS7とMVCはここにある!)

とにかく、uはこれらのすべてのためのIIS Server Variablesをチェックして、あなたが得るものたちに伝えることができます...

  1. PATH_INFO
  2. URL
  3. SCRIPT_NAME

例えば(これはすべてのリクエスト変数をダンプし、私が設定したページのためのPATH_INFOの抜粋です): -

PATH_INFO:[/admin/Miscellaneous.aspx]

とそれを得るために...

Request.ServerVariables["PATH_INFO"] 

たちが投稿してください。

+0

@PureKromeに書き換える場合に依存:ねえ!クイック返信に乾杯! Request.ServerVariables ["PATH_INFO"]は残念ながら/people.aspxを返し、私は/ People /を探しています。でも、あなたが思っていたことを考えているように思えます。だから私は、デバッグ中に直ちにウィンドウにすべてのサーバー変数の出力を持っています。それから、 "people"という単語の出力を検索しましたが、すべての参照はpeople.aspxにありました...私は友人のURLがサーバー変数を介してアクセス不能であると思うようにしています。もちろん、私は間違っていることを証明したい!他のアイデア? –

0

Intelligencia書き換えルールは、解析可能なweb.configに格納されています。ですから、そのようなあなたの例

+0

重いですが、実際に持っていればできます。良いアイデア。 –

+0

@Nick:アイデアメイトに感謝します。残念ながら、私は試合でパターンを使用しているので、難しいかもしれません。私が本当に好きなのは、いくつかの.netオブジェクトから元のURLに到達するちょっとした方法です... hrmmm ...可能かどうかわかりません。私がコードでこれに着手しようとしているとき、私は後になっている情報がエーテルで失われていると思う。 –

1
Request.PathInfo 
Request.QueryString 

あなたがdefault.aspx?myvarまたはdefault.aspx/myvar