ASP.NET で URL を書き換えるにはどうすればよいですか?
ユーザーがアクセスできるようにしたい
http://www.website.com/users/smith
それ以外の
http://www.website.com/?user=smith
ASP.NET で URL を書き換えるにはどうすればよいですか?
ユーザーがアクセスできるようにしたい
http://www.website.com/users/smith
それ以外の
http://www.website.com/?user=smith
マネージド フュージョン URL リライターとリバース プロキシを試してください。
http://urlrewriter.codeplex.com
これを書き換えるルールは次のようになります。
# clean up old rules and forward to new URL
RewriteRule ^/?user=(.*) /users/$1 [NC,R=301]
# rewrite the rule internally
RewriteRule ^/users/(.*) /?user=$1 [NC,L]
Microsoft は現在、IIS 用の公式 URL 書き換えモジュールを出荷しています: http://www.iis.net/download/urlrewrite
サーバー変数やワイルドカードの設定など、ほとんどの種類の書き換えがサポートされています。
また、すぐに使用できるすべての Azure Web インスタンスにも存在します。
私はwww.urlrewriting.netからのURL書き換えにhttpmoduleを使用して大成功を収めました(はるかに以前の、より単純なバージョンだと思いますが)
実際の書き換えルールが非常に少ない場合は、.NET 2.0に組み込まれているURLマッピングの方がおそらく簡単なオプションです。これらの記述はウェブ上にいくつかありますが、4guysfromrollaはかなり網羅的ですが、ご覧のとおり、そうではありません。サポート正規表現マッピングは、動的環境ではかなり役に立たないものになります(例の「smith」が特殊なケースではないと仮定すると、これらは役に立たないでしょう)