VB.net Rewrite and Redirect Rules using CodeBehind
Project Description:
Need VB.net programmer to make some (hopefully) minor code edits to resolve some site issues. I will provide the CodeBehind (.aspx.vb) files and the Main.master.vb file. All edits have to be made in these files. IIS rewrites and Server level are unfortunately not an option.
This can be a trial and error process to see if the changes work with the CMS and server. I am code-savvy but need expert guidance for these customizations.
About The Site and Server Environment
IIS 7.5 on Windows Server 2008 R2
Custom CMS using VB.net, MasterPages, CodeBehind
Current Issues
1. Whenever a user visits a non-existent page ending in .aspx, they are masked-redirected to the default page, which is the site home page. All other missing pages/ non-existent return the correct 404 page. I need the missing .aspx pages to return a 404 error.
The way the redirect code is set up is this:
If ThePage Is Nothing Then
ThePage = FindDefault
End If
The major issue is that when this code is replaced, the home page root (https://www.mysite.com/) returns a 404 error because it falls under the "If ThePage Is Nothing Then" statement. I need an exception for the home page so it does not give a 404 error. Expectantly this can be resolved with a few lines of code. :)
2. Force lowercase urls site wide and on all sub-directories EXCEPT for admin folder.
This can be done in IIS but it breaks some functionality in the/admin /directory. I need an exception for the /admin/ directory.
3. Rewrite underscores to dashes in all urls and redirect old urls to new ones
Existing site CMS inserts underscores in URLs. I require these rewritten to dashes and all URLs using the underscores to be 301 redirected to the new links.
Exclude /admin/ directory
Example:
https://www.mysite.com/sample_link.aspx rewritten to https://www.mysite.com/sample-link.aspx but if someone visits the old link (sample1_link.aspx), they are 301 redirected to the updated one (sample2-link.aspx)
An IIS rewrite rule MIGHT work for this. Must be done from IIS Manager.
4. I require to drop the .aspx from all URLs and force a trailing slash on the newly rewritten URLs. All old links should redirected by 301 redirect to new links.
Skills required:
.NET, ASP, Visual Basic, IIS, Windows Server