Рейтинг:
1
I.explore.code
Посмотрите, помогут ли эти ссылки:
Переписывание URL-адресов с помощью ASP.NET[^]
Переписывание URL-адресов ASP.NET[^]
Кроме того, короткий URL-адрес не содержит никаких расширений, поэтому IIS все равно не сможет его обработать и выдаст 404, а для управления URL-адресами без расширений вам понадобится сторонний фильтр ISAPI, установленный на стороне сервера. Однако если вы используете IIS7, то встроенный инструмент под названием URLRewrite может позаботиться об этом (хотя и не уверен). Кроме того, я бы рекомендовал использовать регулярное выражение для сопоставления паттернов пути, как это работает большинство механизмов перезаписи URL-адресов.
В качестве альтернативы вы можете попробовать использовать path.contains вместо path.Равно как и предполагает эта ссылка:
RewritePath[^]
Надеюсь, это поможет...Овации.
srinivas vadepally
Привет гладиатрон,
я получаю HTTP 404. Я также пробовал с path.contains,получая ту же проблему.
Есть ли какие-либо не так с кодом?
I.explore.code
You are missing the key point here, rewritten URLs can only work if the new urls do actually exist on the server. I think you caught the opposite end of the stick with URL rewriting, the purpose of the URL rewriting is to make URLs memorable and hackable so that you can type in something like http://www.somsite.com/products/xbox/250GB but actually land on /products?prodname=xbox&cap=250gb. The former URL actually doesn't exist on the server but the latter one does and this is how URL rewriting works. I would also recommend using HTTPhandlers to the URL rewriting unless you only have to do it at the beginning of the application. So, if "AndhraPradesh.aspx" is a physical page on your server you cannot return "AP" to the user rather it works the other way round, when the user tries to access "AP" they would internally be forwarded to the physical file/page. hope this clears things up...
srinivas vadepally
Большое вам спасибо,гладиатрон, небольшая ошибка свела меня с ума на два дня.
в любом случае спасибо.
желаю хорошо провести время.
I.explore.code
Добро пожаловать! Если мое решение решило или помогло решить вашу проблему, не могли бы вы нажать на кнопку "Принять решение", чтобы принять его и оценить?? так что люди знают, что это было решено. Большое спасибо.
Рейтинг:
0
qwench
string path = context.Request.Path.ToLower();
if(path.Equals("/AndhraPradesh.aspx"))
путь записывается в нижнем регистре, и вы сравниваете его со строкой с прописными буквами.
jaket-cp
Вы отвечаете на вопрос 4-летней давности.
Это хорошо и все такое, но вы можете получить голос, даже если вы дали хорошее решение.
Возможно, это хорошая идея-удалить ваш ответ.