2012-02-01 8 views

答えて

1

url rewritingをご覧ください。あなたは/ myaccountダイレクトを達成することができないかもしれませんが、あなたのURLをきちんと整理して、SEOのために読みやすく意味のあるものにすることができます。

あなたのURLは次のようになりできるようにするために使用することができます:

www.sample.com/account/asdaasdasd 

あなたはすべて一緒にクエリ文字列を紛失した場合、あなたがすべてでそれにアクセスすることはできません。クエリ文字列を取得するための中間コードを実装していない限り、それをセッションに格納してから/myaccount URLにリダイレクトしてそこに戻してください。

2
string destUrl = string.Format("{0}://{1}{2}/",Request.Url.Scheme,Request.Url.Authority,Request.Url.AbsolutePath); 
if (destUrl.EndsWith("/")) 
    destUrl = destUrl.TrimEnd(new char[] { '/' }); 
if (!string.IsNullOrEmpty(Request.QueryString["paramName"])) { 
    destUrl = string.Format("{0}?paramName={1}", destUrl, "paramValueHere"); 
Response.Redirect(destUrl); 
0

あなたはURL書き換えを指していると思います。

これは、URL書き換えに関する非常に一般的に使用されるブログ記事です:

http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx

それとも、IIS7を持っている場合、そのが簡単になりましなされて:中

http://www.iis.net/download/urlrewrite


?q=asdasdsdasdから/myaccountへの変更の条件、私は分かりません。最初のURLは一般的な検索クエリのようですが、2番目のURLはcookieなどを使用して変数を取得するURLです(ユーザーアカウントの場合は?)。

www.sample.com?userprofile.aspx?user=johnsmith

これを書き換えることができます。あなたのようなURLを持つユーザープロファイルを持っている場合、そのよう

しかし、URL書き換えを使用することができます、のような変数としてjohnsmith一部を使用して:単純な文字列manipulatで

www.sample.com/user/johnsmith

0

あなたのようにそれを行うことができイオン:

string urlWithQuerystring = "http://www.sample.com?q=asdasdsdasd"; 
int queryStringPos = urlWithQuerystring.IndexOf("?"); 
string newUrl = String.Format("{0}/myaccount/", urlWithQuerystring.Substring(0, queryStringPos)); 
0

はあなたのGlobal.asaxの中で、このコードを使用します。その後、

void Application_BeginRequest(object sender, EventArgs e) 
{ 

    string[] parts = Request.RawUrl.Split(new char[]{'/'}); 

    if(Part[1] == "myaccount")) 
     Context.RewritePath("http://www.sample.com?q=" + Part[2]); 

} 

、あなたはパラメータに渡しますどのよう http://www.sample.com/myaccount/asdasdasd

関連する問題