• 0

[ASP.NET] Get value after domain name


Question

Hello gang,

I'm creating a site and I would like to allow users to create their own path, think of it as the same way MySpace.com allows you a personalized path such as myspace.com/jamewjrose

I would like the ability to catch the additional info after the domain name and pass it to my db. All I need is how to capture the additional value.

ANY thoughts?

Thanks.

Link to comment
https://www.neowin.net/forum/topic/638357-aspnet-get-value-after-domain-name/
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Fanon,

Thanks kindly. However this does not seem to get me what I need.

Placed the following code:

AbsolutePath<br>

<%= Request.Url.AbsolutePath %><br>

AbsoluteUri<br>

<%= Request.Url.AbsoluteUri %>

What I got back was this:

AbsolutePath

Default.aspx

AbsoluteUri

http://localhost/Default.aspx

So far, so good. However if I type in the url: http://localhost/test I WANT to capture "test" (or whatever value)

However I get:

"The page cannot be found"

Obviously I know this page does not exist. And from what I've reviewed, so far, the examples you gave me will not get me to what I need.

Or am I just stupid?

Thanks

  • 0

AbsolutePath gets everything after the host information, which is why you got Default.aspx. So for http://localhost/test, it would return /test/Default.aspx. If you don't want the file name, you'll have to cut that out yourself.

Edit: In fact, if all you want is the first directory, you can split the string by '/'. So something like this:

string path = Request.Url.AbsolutePath;

string directory = path.Split('/')[1];

Edited by Fanon
  • 0

Ah, I see what you mean, however what I want is not that but this:

If i had a domain james.com and typed in www.james.com/test I would like to get the value "test", without create seperate folders.

Often it's www.james.com/default.aspx?id=test I'd like to find a way to get the base value. (AM I making myself clearer now?)

Thanks again for the input

  • 0

arg, I am simply not explaining myself right. (my apologies)

The issue is if I have the domain "james.com" and type in james.com\test and no NOT have a folder called "test" I will then NOT get "james.com\test\default.aspx" because "test" does not exist as a file or folder.

Like I mentioned before, in the standard form: www.james.com/default.aspx?id=test I could get "test" as the ID no problem... What I want to do is have Default.aspx check for ANY value given to it without the "?ID=test". That way users could come to the domain with their own url james.com\debra, or james.com\1234s5e4ees487, etc etc. I would then be able to parse the value, go to the database and get the record I need AND the user would have thier own url (nice and clean, as opposed to the GUID which is the db record id)

Thanks again Fanon for the help, and hopefully the above will make it clearer.

  • 0

It's not entirely your fault. I kinda got the idea you wanted a solution for friendly URLs, but I chose not to address it ;)

There are a couple of solutions for friendly URLs:

1. ASP.NET can rewrite URLs, but the request has to be passed to the ASP.NET ISAPI module, which means the /test/Default.aspx of http://localhost/test has to already exist on the server. More information on that:

http://msdn.microsoft.com/en-us/library/ms972974.aspx

http://weblogs.asp.net/scottgu/archive/200...th-asp-net.aspx

2. An ISAPI module. I know next to nothing about ISAPI rewrite modules. They do require access to IIS and permissions to add ISAPI modules. If you own your own box, that's not a problem. For shared hosting, some providers will be happy to install it; some won't. A freebie ISAPI URL rewriter can be found at http://cheeso.members.winisp.net/IIRF.aspx.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.