Avatar of Jesper Christensen
Jesper Christensen
 asked on

rewrite every page to www.

Hi.

Is it possible to add a script in web.config that redirects every page to www.
F.x:

http://domain.com -> http://www.domain.com
http://domain.com/test.aspx -> http://www.domain.com/test.aspx
http://domain.com/page/test.aspx?ID=3 -> http://www.domain.com/page/test.aspx?ID=3

I have implemented http://urlrewriter.net/ in my project, dosen´t know if it can help.
.NET ProgrammingC#

Avatar of undefined
Last Comment
Jesper Christensen

8/22/2022 - Mon
WhiteSeed

ASKER CERTIFIED SOLUTION
Loftbug

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Jesper Christensen

ASKER
White seed: It dosen´t work.
The element <rewrite> is not a part of  <system.webServer>

Loftbug: I am using a rewrite engine, so the script can´t find the rewrited urls
WhiteSeed

i had uses that on my website, but it use .htaccess

http://teqsnacks.com/2007/01/17/automatically-redirecting-to-the-www-prefix/

Open in new window

Your help has saved me hundreds of hours of internet surfing.
fblack61
Bardobrave

A different approach:

You can use a refresh into a meta tag in your pages. This way you can have a partial view in your master page where you injects the meta refresh with the current url converted to www.

<meta http-equiv="refresh" content="0;url=<%= "http://www" + yourCurrentUrlRequested %>">
Loftbug

That makes sense. Your UrlRewriter matching rule may be checking for domains with no www. prefix/subdomain.
Change it to ignore domain level matching or duplicate your rule set for www.mydomain.com


This is what I did for one of my UrlRewriter solutions long ago.

For example:
<rewriter>
<if header="HTTP_HOST" match="^www\.([^\.]+)\.com$">
 <!-- copy rewrite actions here, ensure actions dont depend on domain, only path -->
</if>
</rewriter>

Use this together with the global.asax methods I posted before and see if it works.

By the way, you may want to look into Asp.Net routing, I switched over to that last year. Its clean and easily debug-able.

cheers,

 L
Jesper Christensen

ASKER
Hi loftbug.
I will try right now :)

I just read about the routing class, but it think it only supports .net 4
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
Jesper Christensen

ASKER
Loftbug your trick worked with the urlrewriter :) Thank you very much.

Do you have expirence with the url rewrite rules?
I have a little problem, which I can´t solve.

My rule:
<rewrite url="~/category/(.+)" to="~/video.aspx?URL=$1" />
result:
www.domain.com/video/video1.aspx

I would like to change the rule so the url replace .aspx with "/" and "category" with ""
So the result would be:
www.domain.com/video1/

Can you help?
Loftbug

Hi Bongii,

Aah thats good to hear.

You can setup routing with .net 3.5, I have it running there on many of our client applications. (many shared hosting servers also dont support .net 4 so we use .net 3.5 for our solutions.)
Here is an article that can get you started. There is a bit of a learning curve but I found it afterwards easier to use and maintain than UrlRewriter.net .

>> Do you have expirence with the url rewrite rules?

I worked on it quite a few years back. Here is what I can remember.

To run extensionless url's:

1. All your page clickable urls must be friendly and in the format --> www.domain.com/video1/
    Friendly urls start with coding them into your aspx page in their friendly format so users clicking them make a friendly url request.
    Then the ReWriter engine must identify and route the friendly url request to the correct underlying physical aspx page.

2. Next step, your web server needs to be configured to support executing extensionless urls.
    This is done differently on IIS6 (little harder) and IIS7 (easy).


This article explains a bit more on using urlrewriter --> http://stackoverflow.com/questions/459203/how-do-i-configure-extensionless-urls-with-the-visual-web-development-server


I hope this makes sense and helps.

Best,

 Loftbug










Jesper Christensen

ASKER
Thank you very muck for your help. I will check the articles tomorrow :)
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck