472,354 Members | 1,716 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,354 software developers and data experts.

Rewrite rule

Hello everybody

In apache I used a feature called a "Rewrite rule" inside a .htaccess
file to process the URL :
i.e. http://www/mypage.html =http://www/page.php?page=mypage

Now I'd like to do a similar action on a IIS server with ASP (not
..net)...

Can anyone tell me how you can do this ?

thanks in advance!
Mathew

Dec 31 '06 #1
5 3542
Lupus wrote on 31 dec 2006 in microsoft.public.inetserver.asp.general:
Hello everybody

In apache I used a feature called a "Rewrite rule" inside a .htaccess
file to process the URL :
i.e. http://www/mypage.html =http://www/page.php?page=mypage

Now I'd like to do a similar action on a IIS server with ASP (not
.net)...

Can anyone tell me how you can do this ?
Meseems you will have to explain what it does.
In general we do not use apache.

Possibly this is the effect you want:

========http://www/mypage.html ============

<% ' vbscript
response.redirect "/page2.php?page=mypage"
%>

===========================================

If you want to redirect from nonexisting pages,
I suggest from a specified [even nonexisting] directory,
you could write code in te dedicated 404.asp page
redirecting those calls and selecting the pagename as
querystring.

However, this can be better done as a server.transfer,
where the original virtual calling string
is available in a session variable.
[do not forget to clear the session variable
after extraction of the page name,
or do not use it elswhere in the session]

============= /404.asp ====================
<%
qstr = lcase(Request.ServerVariables("QUERY_STRING"))
if instr(qstr,":80/virtualdirectory/")>0 then
session("qstr")=qstr
server.transfer "/anydirectory/page.php"
end if
%>
<html>
......
This is our 404 page.<br>
The page you want:<br>
<%=qstr%><br>
does not exist.
</html>
==========================================

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
Dec 31 '06 #2

"Evertjan." <ex**************@interxnl.netwrote in message
news:Xn********************@194.109.133.242...
Lupus wrote on 31 dec 2006 in microsoft.public.inetserver.asp.general:
>Hello everybody

In apache I used a feature called a "Rewrite rule" inside a .htaccess
file to process the URL :
i.e. http://www/mypage.html =http://www/page.php?page=mypage

Now I'd like to do a similar action on a IIS server with ASP (not
.net)...

Can anyone tell me how you can do this ?

Meseems you will have to explain what it does.
In general we do not use apache.

Possibly this is the effect you want:

========http://www/mypage.html ============

<% ' vbscript
response.redirect "/page2.php?page=mypage"
%>

===========================================
What exactly would you expect this to do in an .HTML file? Unless you
mapped the .html extension to asp.dll, to process files with that extension
as server-side script, the correct answer would be "nothing".
-Mark
If you want to redirect from nonexisting pages,
I suggest from a specified [even nonexisting] directory,
you could write code in te dedicated 404.asp page
redirecting those calls and selecting the pagename as
querystring.

However, this can be better done as a server.transfer,
where the original virtual calling string
is available in a session variable.
[do not forget to clear the session variable
after extraction of the page name,
or do not use it elswhere in the session]

============= /404.asp ====================
<%
qstr = lcase(Request.ServerVariables("QUERY_STRING"))
if instr(qstr,":80/virtualdirectory/")>0 then
session("qstr")=qstr
server.transfer "/anydirectory/page.php"
end if
%>
<html>
.....
This is our 404 page.<br>
The page you want:<br>
<%=qstr%><br>
does not exist.
</html>
==========================================

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)

Jan 1 '07 #3
Mark McGinty wrote on 01 jan 2007 in
microsoft.public.inetserver.asp.general:
>========http://www/mypage.html ============

<% ' vbscript
response.redirect "/page2.php?page=mypage"
%>

===========================================

What exactly would you expect this to do in an .HTML file?
Unless you
mapped the .html extension to asp.dll, to process files with that
extension as server-side script, the correct answer would be
"nothing".
True. My mistake, read: http://www.??.??/mypage.asp
IIS can remap [about?] any extention to be read by the asp interpreter.
>============= /404.asp ====================
<%
qstr = lcase(Request.ServerVariables("QUERY_STRING"))
if instr(qstr,":80/virtualdir/")>0 then
session("qstr")=qstr
server.transfer "/anydirectory/page.php"
[..]
The .php, could be anything, I prefer page.asp
>end if
%>
However, my real [in my view] answer was this use of 404.asp.
The extention of the nonexisitng [=virtual] pages does not matter here,
the asp interpereater is always "on".

The page.asp could be something like this:
[on my site, even Google sees this page as 110 different ones]

=========== /anydirectory/page.asp ================
<html>
<head>
.....
</head>
<body>
<% if instr(session("qstr"),"/virtualdir/xxx.html")>0 then %>
<b>This</bis the content of xxx .............
<% elseif instr(session("qstr"),"/virtualdir/blah.qrs")>0 then %>
<b>This</bis the content of blah .............
<% elseif instr(session("qstr"),"/virtualdir/otherext.asp")>0 then %>
<b>This</bis the content of <%=session("qstr")%>:
..............
<% else %>
Page not found [404]
</body>
</html>
<%
session("qstr") = ""
response.end
end if
session("qstr") = ""
%>
<br>General footer [except for not found 404] .........
</body>
</html>
================================================== ===

To make it really perfect, you would have to make dynamic headers
of the 200 and 404 kind.

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
Jan 1 '07 #4
Hello all,

Thanks for all your responses...

The thing I do on apache is a very common trick which is quite easy to
set up. I'm not sure it has to be so difficult on IIS (at least, I hope
so)

It doesn't really have a functional purpose, it can only make the URL
more attractive or easier to use.

This is the code I need to put into .htaccess file :
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.*)\.html$ index.php?setpage=$1 [nc]
</IfModule>

Result: each *.html request in the URL is "translated" discretely into
index.php?setpage=pagename
In my case, index.php processes CMS-based pages and opens the page with
the name "pagename"

I works as good without the htaccess code, but you'll get this in the
URL :
http://www.domain.com/index.php?setpage=aboutus
http://www.domain.com/index.php?setpage=contactus
http://www.domain.com/index.php?setpage=guestbook

Using the rewrite rule, the URL looks like this :
http://www.domain.com/aboutus.html
http://www.domain.com/contactus.html
http://www.domain.com/guestbook.html
I'll give another example :
Take for example: http://www.php.net/strptime

You might think that the webbrowser has a directory "strptime" which
responds, but in reality it's the "rewrite rule" which converts the URL
discretely into http://be2.php.net/manual/en/function.strptime.php

Result : If I need the reference page of the strlen-function in PHP, I
know I can type "php.net/strlen" and I don't need to type
be2.php.net/manual/en/function.strlen.php.

Yet another example :
http://www.hotscripts.com/Detailed/50145.html

hotscripts is a databasedriven website, so I presume they don't need to
create a .html file for each item in the database. The above URL is
probably translated into something like : detail.php?item=50145.

I'm using a commercial webhosting server, and I don't think I can
access the settings for 404 errors. I was hoping IIS has a similar way
for doing URL rewriting...

Kind regards, and Happy newyear !
Mathew
Evertjan. schreef:
Mark McGinty wrote on 01 jan 2007 in
microsoft.public.inetserver.asp.general:
========http://www/mypage.html ============

<% ' vbscript
response.redirect "/page2.php?page=mypage"
%>

===========================================
What exactly would you expect this to do in an .HTML file?
Unless you
mapped the .html extension to asp.dll, to process files with that
extension as server-side script, the correct answer would be
"nothing".

True. My mistake, read: http://www.??.??/mypage.asp
IIS can remap [about?] any extention to be read by the asp interpreter.
============= /404.asp ====================
<%
qstr = lcase(Request.ServerVariables("QUERY_STRING"))
if instr(qstr,":80/virtualdir/")>0 then
session("qstr")=qstr
server.transfer "/anydirectory/page.php"
[..]

The .php, could be anything, I prefer page.asp
end if
%>

However, my real [in my view] answer was this use of 404.asp.
The extention of the nonexisitng [=virtual] pages does not matter here,
the asp interpereater is always "on".

The page.asp could be something like this:
[on my site, even Google sees this page as 110 different ones]

=========== /anydirectory/page.asp ================
<html>
<head>
....
</head>
<body>
<% if instr(session("qstr"),"/virtualdir/xxx.html")>0 then %>
<b>This</bis the content of xxx .............
<% elseif instr(session("qstr"),"/virtualdir/blah.qrs")>0 then %>
<b>This</bis the content of blah .............
<% elseif instr(session("qstr"),"/virtualdir/otherext.asp")>0 then %>
<b>This</bis the content of <%=session("qstr")%>:
.............
<% else %>
Page not found [404]
</body>
</html>
<%
session("qstr") = ""
response.end
end if
session("qstr") = ""
%>
<br>General footer [except for not found 404] .........
</body>
</html>
================================================== ===

To make it really perfect, you would have to make dynamic headers
of the 200 and 404 kind.

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
Jan 1 '07 #5
Lupus wrote on 01 jan 2007 in microsoft.public.inetserver.asp.general:

[Please do not toppost on usenet]
hotscripts is a databasedriven website, so I presume they don't need to
create a .html file for each item in the database. The above URL is
probably translated into something like : detail.php?item=50145.
I don't think you should expect all nice quirks of one system to be
implemented in the other. If there are no diferences, what would be the
sense of different systems, but the pricing?

I think I showed you that is can easily be done in ASP code.

This NG really is not about IIS, there are other NG's for that, but about
ASP, so I showed you the, I mean an, ASP way.
I'm using a commercial webhosting server, and I don't think I can
access the settings for 404 errors. I was hoping IIS has a similar way
for doing URL rewriting...
My sites on my webhost have the possibility of a dedicated 404.asp page.
I make extensive use of them.

If you choose a webhost, choose a good one within your means, methinks

--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
Jan 1 '07 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: jbj | last post by:
I am trying to make a javascript function that can rewrite javascript rules dynamically (no, not the style tag of an individual element, but the actual rule in the <head> portion of the document)....
4
by: Stefan Reiter | last post by:
Hi, I got a totally dynamic website, and to improve my search engine results, I would like to use mod rewrite. From what I've understood so far, I have to put the necesarry lines into my...
0
by: darrel | last post by:
We're using ISAPI rewrite on our site. We have a URL that looks like this: /district/2/ that gets rewritten to: /default.aspx?siteID=2
2
by: sri_san | last post by:
Hello group, After going through a nice article at MSDN(http://msdn2.microsoft.com/en-us/library/ms972974.aspx), I was able to make the URL rewrite working except for coming up with a generic...
1
by: soniamuk | last post by:
i am facing a typical issue with apache where i have a filter context(written in c++) which pulls information from apache server. in this process when i am trying to fetch an url where rewrite rule...
2
by: fredBH | last post by:
Hi everyone! I need some help to configure my rewrite rule for these url : http://www.test.com/start forward to http://www.test.com/action/start.php http://www.test.com/user/delete/1 forward...
4
by: adamjblakey | last post by:
What would be the correct MOD Rewrite rule for this: http://www.website.co.uk/building-an...ices/cheshire/ I thought it would be: Code: RewriteRule ^building-and-construction/(+)/(+)/$...
1
by: mazdotnet | last post by:
Hi all, I've installed the new Microsoft URL Rewrite Module for IIS 7.0 http://www.iis.net/downloads/default.aspx?tabid=34&i=1691&g=6 on both my laptop (Vista Home Premium) and my desktop...
0
by: andrewteg | last post by:
I have an application that is installed as http://domain.com/folder/ and serves pages as http://domain.com/folder/index.ext/parent/child/ and I'm trying to remove index.ext from the URL so that...
0
by: Naresh1 | last post by:
What is WebLogic Admin Training? WebLogic Admin Training is a specialized program designed to equip individuals with the skills and knowledge required to effectively administer and manage Oracle...
0
by: antdb | last post by:
Ⅰ. Advantage of AntDB: hyper-convergence + streaming processing engine In the overall architecture, a new "hyper-convergence" concept was proposed, which integrated multiple engines and...
1
by: Matthew3360 | last post by:
Hi there. I have been struggling to find out how to use a variable as my location in my header redirect function. Here is my code. header("Location:".$urlback); Is this the right layout the...
2
by: Matthew3360 | last post by:
Hi, I have a python app that i want to be able to get variables from a php page on my webserver. My python app is on my computer. How would I make it so the python app could use a http request to get...
0
hi
by: WisdomUfot | last post by:
It's an interesting question you've got about how Gmail hides the HTTP referrer when a link in an email is clicked. While I don't have the specific technical details, Gmail likely implements measures...
1
by: Matthew3360 | last post by:
Hi, I have been trying to connect to a local host using php curl. But I am finding it hard to do this. I am doing the curl get request from my web server and have made sure to enable curl. I get a...
0
Oralloy
by: Oralloy | last post by:
Hello Folks, I am trying to hook up a CPU which I designed using SystemC to I/O pins on an FPGA. My problem (spelled failure) is with the synthesis of my design into a bitstream, not the C++...
0
by: Rahul1995seven | last post by:
Introduction: In the realm of programming languages, Python has emerged as a powerhouse. With its simplicity, versatility, and robustness, Python has gained popularity among beginners and experts...
0
by: Ricardo de Mila | last post by:
Dear people, good afternoon... I have a form in msAccess with lots of controls and a specific routine must be triggered if the mouse_down event happens in any control. Than I need to discover what...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.