Moving from ISAPI Rewrite to mod_rewrite syntax

Discuss practical ways rearrange URLs using mod_rewrite.

Moving from ISAPI Rewrite to mod_rewrite syntax

Postby webuser52 » Tue May 05, 2009 12:00 pm

I've moved from a server with ISAPI Rewrite 2.x to a new server using the mod_rewrite version of ISAPI Rewrite 3.0

I don't fully understand the syntax of either, and converting will be a lengthy task if I have to do so.

Is anyone able to give me some advice on converting the below? Or if it is simple are you able to show me a converted version? Alternatively, are there any tools to convert from ISAPI Rewrite syntax to mod_rewrite syntax?

[ISAPI_Rewrite]
#Rule for Events
RewriteRule /(.*)/index_(.*)\.html /venue.asp\?eventCategory=$2
RewriteRule /(.*)_hospitality/(.*)\.asp /pages_hospitality_events/$2\.asp [I,L]
RewriteRule /images/(.*) /pages_hospitality_events/images/$1 [I,L]
RewriteRule /factSheets/(.*) /pages_hospitality_events/factSheets/$1 [I,L]
RewriteRule /index.html /pages_hospitality_events/index.asp [I,L]
RewriteRule /index.htm /pages_hospitality_events/index.asp [I,L]
RewriteRule / /pages_hospitality_events/index.asp [I,L]
RewriteRule /index.asp /pages_hospitality_events/index.asp [I,L]
RewriteRule /events/* /pages_hospitality_events/index.asp [I,L]
RewriteRule /events/(.*)\.html /pages_hospitality_events/index.asp [I,L]
RewriteRule /events/factSheets/* /pages_hospitality_events/index.asp [I,L]
RewriteRule /events/factSheets/(.*)\.html /pages_hospitality_events/index.asp [I,L]
RewriteRule /hospitality/* /pages_hospitality_events/index.asp [I,L]
RewriteRule /hospitality/(.*)\.html /pages_hospitality_events/index.asp [I,L]

RewriteRule /pages_hospitality_events/factSheets/hennessy-gold-cup.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1046
RewriteRule /pages_hospitality_events/factSheets/cheltenham-gold-cup.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1075
RewriteRule /pages_hospitality_events/factSheets/tina_turner_concert.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1078
RewriteRule /pages_hospitality_events/factSheets/tennis-wimbledon-championship.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1081
RewriteRule /pages_hospitality_events/factSheets/tickets-wimbledon-debenture-tickets.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1082
RewriteRule /pages_hospitality_events/factSheets/golf-open-championship-turnberry.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1084
RewriteRule /pages_hospitality_events/factSheets/grand-national.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1085&noecommerce=1
RewriteRule /pages_hospitality_events/factSheets/royal-ascot.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1086
RewriteRule /pages_hospitality_events/factSheets/british-grand-prix-silverstone.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1087
RewriteRule /pages_hospitality_events/factSheets/henley-royal-Regatta-hospitality-packages.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1088
RewriteRule /pages_hospitality_events/factSheets/tennis-french-open.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1090
RewriteRule /pages_hospitality_events/factSheets/cricket-england-australia-cardiff.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1091
RewriteRule /pages_hospitality_events/factSheets/cricket-england-australia-lords.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1092
RewriteRule /pages_hospitality_events/factSheets/cricket-england-australia-edgbaston.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1093
RewriteRule /pages_hospitality_events/factSheets/cricket-england-australia-headingley.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1094
RewriteRule /pages_hospitality_events/factSheets/cricket-england-australia-the-oval.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1096
RewriteRule /pages_hospitality_events/factSheets/world-cup-qualifiers-croke-park.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1097
RewriteRule /pages_hospitality_events/factSheets/larc-de-triomphe-longchamp-paris.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1098
RewriteRule /pages_hospitality_events/factSheets/tennis-fortis-classic.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1099
RewriteRule /pages_hospitality_events/factSheets/concert-summer-swing-kew.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1100
RewriteRule /pages_hospitality_events/factSheets/golf-scottish-open-loch-lomond.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1101
RewriteRule /pages_hospitality_events/factSheets/tennis-aegon-championship.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1103
RewriteRule /pages_hospitality_events/factSheets/rhs-chelseas-flower-show.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1104
RewriteRule /pages_hospitality_events/factSheets/goodwood-revival-meeting-goodwood.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1105
RewriteRule /pages_hospitality_events/factSheets/goodwood-festival-of-speed-goodwood.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1106
RewriteRule /pages_hospitality_events/factSheets/tatton-park-flower-show.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1107
RewriteRule /pages_hospitality_events/factSheets/hampton-court-palace-flower-show.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1108
RewriteRule /pages_hospitality_events/factSheets/golf-ryder-cup-augusta.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1109
RewriteRule /pages_hospitality_events/factSheets/horse-racing-glorious-goodwood.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1110
RewriteRule /pages_hospitality_events/factSheets/horse-racing-st-leger-festival.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1111
RewriteRule /pages_hospitality_events/factSheets/horse-racing-burghley-horse-trials.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1112
RewriteRule /pages_hospitality_events/factSheets/cheltenham-gold-cup-steam-train.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1113
RewriteRule /pages_hospitality_events/factSheets/boxing-khan-barrera-manchester.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1114&noecommerce=1
RewriteRule /pages_hospitality_events/factSheets/boxing-hatton-pacquiao-vegas.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1115
RewriteRule /pages_hospitality_events/factSheets/golf-ryder-cup-celtic-manor.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1116&noecommerce=1
RewriteRule /pages_hospitality_events/factSheets/polo-in-the-park-hurlingham.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1117
RewriteRule /pages_hospitality_events/factSheets/polo-cartier-int-guards-club.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1118
RewriteRule /pages_hospitality_events/factSheets/autumn-int-england-newzealand.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1121
RewriteRule /pages_hospitality_events/factSheets/autumn-int-england-argentina.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1124
RewriteRule /pages_hospitality_events/factSheets/autumn-int-england-fiji.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1125
RewriteRule /pages_hospitality_events/factSheets/rugby-heineken-cup-final-murrayfield.html /pages_hospitality_events/factsheets/_fsBuilder.asp\?eventID=1126
webuser52
 
Posts: 2
Joined: Tue May 05, 2009 11:59 am

Postby richardk » Tue May 05, 2009 4:11 pm

I've moved from a server with ISAPI Rewrite 2.x to a new server using the mod_rewrite version of ISAPI Rewrite 3.0

Does ISAPI Rewrite 3.0 have the same syntax as Apache mod_rewrite?
richardk
 
Posts: 8800
Joined: Wed Dec 21, 2005 7:50 am

Postby webuser52 » Wed May 06, 2009 12:07 am

Yup. 3.0 is now compatible with Apache mod_rewrite.
webuser52
 
Posts: 2
Joined: Tue May 05, 2009 11:59 am

Postby richardk » Wed May 06, 2009 9:23 am

You might need to add
Code: Select all
RewriteEngine On


RewriteRule Pattern Substitution [flags]

The pattern should be a regular expression.

The first slash might need removing, eg.
Code: Select all
^images/(.*)$

instead of
Code: Select all
/images/(.*)

It probably should be
Code: Select all
^/images/(.*)$

anyway.

The substitution is not a regular expression, you do not need to escape "?" or ".".

I presume the I flag is to make it case insensitive so it should now be NC. You should (probably) use [NC,QSA,L] for all rules.
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriterule wrote:'last|L' (last rule)
Stop the rewriting process here and don't apply any more rewrite rules. This corresponds to the Perl last command or the break command in C. Use this flag to prevent the currently rewritten URL from being rewritten further by following rules. Remember, however, that if the RewriteRule generates an internal redirect (which frequently occurs when rewriting in a per-directory context), this will reinject the request and will cause processing to be repeated starting from the first RewriteRule.

'qsappend|QSA' (query string append)
This flag forces the rewrite engine to append a query string part of the substitution string to the existing string, instead of replacing it. Use this when you want to add more data to the query string via a rewrite rule.
richardk
 
Posts: 8800
Joined: Wed Dec 21, 2005 7:50 am


Return to Friendly URLs with Mod_Rewrite

Who is online

Users browsing this forum: No registered users and 28 guests

cron