473,396 Members | 1,998 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 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 3592
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: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

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.