I'm not exactly sure what your rules mean... I usually have a RewriteCond
that goes before a rewriteRule, so if you wanted to only redirect the cfm
pages to landingpage.cfm, you would do 

RewriteCond %{REQUEST_URI}      cfm$    [NC]
RewriteRule ^/(.*)$            /landingpage.cfm?uri=$1      [L,QSA]


You might need to play around a bit with flags and regexes, but I think this
is what you're looking for. 

Don't forget you can also use -f to test if the file exists before doing a
rewrite.  You can use a similar rule for non cfm pages and just have those
either pull directly or use a PT flag on them to do the appropriate
rewriting. 

Russ
> -----Original Message-----
> From: Rob Wilkerson [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, July 05, 2006 3:56 PM
> To: CF-Talk
> Subject: ColdFusion, Apache & mod_rewrite
> 
> I'm running into a problem that Pete Freitag has blogged on
> (http://www.petefreitag.com/item/22.cfm), but his solution isn't
> optimal for me so I'm wondering whether anyone in the audience has an
> answer.
> 
> I have a site in which nearly any URI - even ones that don't exist -
> need to redirect to a landing page.  I currently have a custom built
> Apache module that handles the redirection, but keeping up with that
> is just an extra hassle if I can get mod_rewrite to do what the module
> does.  So far, I'm close - very close since I can get it to work - but
> not quite where I'd like to be.  I'm hoping someone can help me get
> there.
> 
> I have the following RewriteRules:
>      RewriteEngine On
>      RewriteRule ^/cfide                -                       [L]
>      RewriteRule ^/CFIDE                -                       [L]
>      RewriteRule ^/bfg                  -                       [L]
>      RewriteRule ^/se                   -                       [L]
>      RewriteRule ^/mod/modules/foo      -                       [L]
>      RewriteRule ^/landingpage.cfm      -                       [L]
>      RewriteRule ^/(.*)                 /landingpage.cfm [QSA]
> 
> These work beautifully if the redirected URI - ^/(.*) - ends with .cfm
> (e.g. /ack/foo/blah.cfm).  It doesn't work so beautifully if the
> redirected URI is something like /ack/foo/blah/ugh.htm or /ack/foo/.
> When it bombs it simply displays the file content as though it were
> text.
> 
> If I add the PT (pass-through) flag to the last rule then it works
> great, but the CGI.SCRIPT_NAME variable contains /landingpage.cfm
> rather than the URI of the original request (e.g. /ack/foo/).  If I
> use that flag, I can get to a point of functional redirection using
> the rules below.  For reasons of cleanliness and simplicity, though,
> I'd prefer not to use that flag and have the CGI variables carry the
> original URI.
> 
> Working rules:
>      RewriteEngine On
>      RewriteRule ^/folder1                  -                       [L]
>      RewriteRule ^/folder2                   -                       [L]
>      RewriteRule ^/f3/f4/foo      -                       [L]
>      RewriteRule ^/landingpage.cfm      -                       [L]
>      RewriteRule ^/(.*)
> /landingpage.cfm?uri=%{REQUEST_URI}     [QSA,PT]
> 
> Has anyone else seen this issue and successfully found a way around it?
> 
> Any assistance or insight would be appreciated.  Thanks.
> 
> --
> 
> Rob Wilkerson
> 
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:245441
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to