2012-01-20 8 views
0

を使用してweb.configにはポストの記事は次のように私は登録ユーザのために使っていたURLは(例のみ)を見えるなど、私は、ユーザーがログインすることができます記事ベースのウェブサイトを持っているIntelligencia URLリライタ

を特殊文字の交換:

http://example.com/Author/1234/Screenname 

ご覧のとおり、ID(1234)とユーザーの画面名を使用しています。 IDを渡す問題

は100%大丈夫ですが、ユーザが-Zでない特殊文字か何かを持っていたら、それは404または不正な要求のページを返します。

問題のあるURL

は/Screen.nameを参照してください - 私はそれがHTTPエラーが発生しますだって、特殊文字を置き換えたいです。

http://example.com/Author/1234/Screenname. 

私は特別な無効なURL文字を置き換えるためにweb.configファイル(または任意の他のグローバルソリューション、例えばのglobal.asa)にIntelligencia URLリライタを使用します。

私の現在のweb.config書き換えコード:

<rewrite url="^~/Author/(.+)/(.+)" to="~/Contributor_Profile.aspx?auID=$1&amp;auN=$2" processing="stop" permanent="true"/> 
+0

あなたのweb.configファイルでこれを試してみてください。私はこのIntelligenciaのものを知らないが、それがどうやってそれをすることができるかを試してみるべきである。 – fge

+0

fgeのコメントによると、ここでの問題は、URL書き換えモジュール(実際に使用する)ではなく、URLの無効な文字である可能性があります。 URLに有効な文字と無効な文字については、http://stackoverflow.com/questions/1547899/which-characters-make-a-url-invalidを参照してください。どのキャラクターに問題がありますか? – rrrr

+0

コメントありがとうございます。私は問題がURLにあることを知っていますが、私のクライアントの既存のデータは変更できません。そのため、問題を回避するために、アドレスバーにロードする前に文字を置き換える必要があります。 –

答えて

0

問題は、クエリ文字列にエンコードパラメータをURLする必要がある

<httpRuntime relaxedUrlToFileSystemMapping="true" /> 
+0

ありがとうございます。しかし、私は使用していることを忘れてしまった。ネット3.5 –

+0

私は[読み取り](http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/5206beca-071f-485d-a2bd-657d635239c9 /)問題は、Uriクラスの問題になっているようです。.NET 4.0にアップグレードして上記のオプションを実装するか、[回避策]があるように見えます(http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/5206beca-071f-485d -a2bd-657d635239c9 /)を使っています。 – rrrr

+0

すべての助けをありがとう。私はあなたの答えを受け入れるでしょう、私は4.0に変換する必要があります。回避策を確認してください。乾杯 –

関連する問題