| | |
ASP redirect
Please support our ASP advertiser: PostgreSQL or MySQL? Compare and contrast the two most popular open source databases
![]() |
•
•
Join Date: Oct 2007
Posts: 1
Reputation:
Solved Threads: 0
HELP.....our web server requires we use an ASP page to redirect our 20 URLs to subwebs. This I can deal with. However, we want clients to be able to go directly to a page within a site by typing in www.WillametteValleyCrane.com/payment and get redirected to the page in the web. The ASP only directs the URL. When the "/payment" is added the redirect does not work.
Can we adjust the script to make it redirect? Thanks!
<%EnableSessionState=False
host = Request.ServerVariables("HTTP_HOST")
if host = "willamettevalleycrane.com" or host = "www.willamettevalleycrane.com" then
response.redirect("http://www.willamettevalleycrane.com/wvc/index.html")
if host = "willamettevalleycrane/payment" or host = "www.willamettevalleycrane.com/payment" then
response.redirect("http://www.willamettevalleycrane.com/ylhl/payment/index.html")
end if
%>
Can we adjust the script to make it redirect? Thanks!
<%EnableSessionState=False
host = Request.ServerVariables("HTTP_HOST")
if host = "willamettevalleycrane.com" or host = "www.willamettevalleycrane.com" then
response.redirect("http://www.willamettevalleycrane.com/wvc/index.html")
if host = "willamettevalleycrane/payment" or host = "www.willamettevalleycrane.com/payment" then
response.redirect("http://www.willamettevalleycrane.com/ylhl/payment/index.html")
end if
%>
•
•
Join Date: Sep 2007
Posts: 1,080
Reputation:
Solved Threads: 68
Instead of using the host method, try searching for a certain pattern in your url. Use the code below as it is modified from yours:
Else, the reason why it is not direction is due to the following errors:
1. It will always detect willamettevalleycrane.com in your host even if it has payment along with it. If you want to keep your coding, switch the first if statement with the second so it detects the payment first.
2. HTTP_HOST will only return the current host as willamettevalleycrane.com. URL returns the remaining version like /payment.asp or what not.
3. Your second if statement is followed by an unclosed first (if ... then ... if) instead of (if ... then ... end if) or (if ... then ... elseif ... end if). Make the second if statement into elseif unless you close the first if statement with an end if. If you wish to keep your following code, then use this fixed version:
I highly suggest using my first example. Less room for error especially in typo's int he address bar.
ASP Syntax (Toggle Plain Text)
Dim strCurrentUrl = Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("SCRIPT_NAME") 'If you need the querystring as well, use the line below 'Dim strCurrentUrl = Request.ServerVariables("SERVER_NAME") & Request.ServerVariables("SCRIPT_NAME") & Request.ServerVariables("QUERY_STRING") if InStr(1, strCurrentUrl, "payment", vbTextCompare) > 0 then response.redirect("/ylhl/payment/index.html") elseif InStr(1, strCurrentUrl, "willamettevalleycrane", vbTextCompare) > 0 then 'Unless you absolutely need `http://www.willamettevalleycrane.com` in your redirect, use the below line. This assumes that willamettevalleycrane.com is the current website you're on. response.redirect("/wvc/index.html") else
1. It will always detect willamettevalleycrane.com in your host even if it has payment along with it. If you want to keep your coding, switch the first if statement with the second so it detects the payment first.
2. HTTP_HOST will only return the current host as willamettevalleycrane.com. URL returns the remaining version like /payment.asp or what not.
3. Your second if statement is followed by an unclosed first (if ... then ... if) instead of (if ... then ... end if) or (if ... then ... elseif ... end if). Make the second if statement into elseif unless you close the first if statement with an end if. If you wish to keep your following code, then use this fixed version:
ASP Syntax (Toggle Plain Text)
<% EnableSessionState=False Dim host = Request.ServerVariables("HTTP_HOST") Dim url = Request.ServerVariables("SCRIPT_NAME") 'or if you prefer the below method. Both give same results. 'Dim url = Request.ServerVariables("URL") if (host & url) = "willamettevalleycrane/payment" or (host & url)= "www.willamettevalleycrane.com/payment" then response.redirect("http://www.willamettevalleycrane.com/ylhl/payment/index.html") elseif host = "willamettevalleycrane.com" or host = "www.willamettevalleycrane.com" then response.redirect("http://www.willamettevalleycrane.com/wvc/index.html") end if %>
Last edited by SheSaidImaPregy; Oct 20th, 2007 at 6:38 pm.
•
•
Join Date: Sep 2007
Posts: 1,080
Reputation:
Solved Threads: 68
oh, but if you're also just using these redirection urls for keeping records for you, your best bet is just to pass a variable to one page and then access it that way (like willamettevalleycrane.com/redirect.asp?company=wvc). This way you don't have to create a ton of folders and files. Otherwise.. carry on private.
Although the suggestions above will work fine, there may be an easier way to accomplish that without all the complex coding.
All subfolders automatically resolve to "index.html" or "default.html" (depending on your server settings).
If you don't already have one, create a file (with the appropriate name as listed above) and add the following code to it:
the 5 that is diectly after content=" is the number of seconds before the user will be sent to the page.
HTH, Good Luck!
All subfolders automatically resolve to "index.html" or "default.html" (depending on your server settings).
If you don't already have one, create a file (with the appropriate name as listed above) and add the following code to it:
ASP Syntax (Toggle Plain Text)
<html> <head> <meta http-equiv="Refresh" content="5;url=http://www.willamettevalleycrane.com/ylhl/payment/index.html"> </head> <body> </body> </html>
the 5 that is diectly after content=" is the number of seconds before the user will be sent to the page.
HTH, Good Luck!
--
Robert Williams
CEO, Founder
CertGuard
Robert Williams
CEO, Founder
CertGuard
•
•
•
•
Although the suggestions above will work fine, there may be an easier way to accomplish that without all the complex coding.
All subfolders automatically resolve to "index.html" or "default.html" (depending on your server settings).
If you don't already have one, create a file (with the appropriate name as listed above) and add the following code to it:
ASP Syntax (Toggle Plain Text)
<html> <head> <meta http-equiv="Refresh" content="5;url=http://www.willamettevalleycrane.com/ylhl/payment/index.html"> </head> <body> </body> </html>
the 5 that is diectly after content=" is the number of seconds before the user will be sent to the page.
HTH, Good Luck!
Hoppy
![]() |
Similar Threads
- ASP Redirect on Session Timeout (ASP.NET)
- 301 redirect URLs in asp? (ASP)
- 404 and redirect in ASP? (ASP)
- asp redirect help I think it is a syntax issue (Legacy and Other Languages)
- Printable asp reports (ASP)
Other Threads in the ASP Forum
- Previous Thread: Microsoft VBScript runtime error 800a0005
- Next Thread: Passing textarea, text values to popup
| Thread Tools | Search this Thread |
Tag cloud for ASP
archive asp asp.net aspandmssqlserver2005 aspandmssqlserver2005connection aspconnection calendar changeable connection current database databaseconnection diagnostics dreamweaver excel fso html iis microsoft msmsql mssql2005 mssqlserver2005 mssqlserver2005andasp mssqlserverandasp opentextfile record searchbox selectoption server single specfic sqlserver sqlserverconnection toolkit web webserver windows7






