URL переписывания может быть сделано следующим образом,
void Application_BeginRequest(object sender, EventArgs e) {
string fullOrigionalpath = Request.Url.ToString();
if (fullOrigionalpath.Contains("/Tour/Inner.aspx?Pid=2&Cid=8")) {
Context.RewritePath("/Tour/Goa/new-year-goa");
}
else if (fullOrigionalpath.Contains("/Tour/Inner.aspx?Pid=2&Cid=8&DeptF=ND")) {
Context.RewritePath("/Tour/Goa/new-year-goa");
//This can be something else according to your requirements.
}
}
Вы можете посмотреть на этот http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx
Или же вы можете изменить web.config
для достижения цели,
здесь образец,
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="rewriter"
requirePermission="false"
type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" />
</configSections>
<system.web>
<httpModules>
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter"/>
</httpModules>
</system.web>
<rewriter>
<rewrite url="~/Tour/Inner.aspx?Pid=2&Cid=8" to="~/Tour/Goa/new-year-goa" />
//Some other re-writers to achieve specific requirements.
</rewriter>
</configuration>
[EDIT: После Может быть одно решение]
ок. Итак, как вы говорите, что вам нужно проверить pid
и cid
так перенаправлять соответственно,
Одним из способов для достижения этой цели ниже,
Request.QueryString("Pid")
и Request.QueryString("Cid")
- хранить их в некоторых переменных,
- проверки эти переменные с некоторым механизмом переключения ... и в соответствии с пройденным условием устанавливают путь с использованием
Context.ReWritePath("Your Specified Path")
Другой способ сделать это с помощью базы данных,
- создать таблицу, содержащую три колонки,
pid
, cid
и location_path
- Теперь получить
cid
и pid
использованием выше Request.QueryString
- с помощью SQL-запроса , выберите местоположение из таблицы, которое соответствует
cid
и pid
, взятым по Request.QueryString
, и установите его с помощью Context.ReWritePath
Надеюсь, это ясно для вас сейчас.
Надеюсь, это поможет.
это seo friendly ... – social
Ну, я не уверен в SEO, вам нужно протестировать его вживую, чтобы подтвердить. –
Спасибо, сэр, На самом деле у меня много пакетов, поэтому ids (Pid = 2 & Cid = 8) мне больше 200, поэтому, пожалуйста, скажите мне, как динамически (с использованием регулярного выражения/сопоставления шаблонов) Я достигаю этой цели, мне не нужна ручка это как жесткий код. – social