On Mon, Oct 3, 2011 at 1:41 PM, Andrew Schulman
<and...@alumni.utexas.net> wrote:
>
> > For example,
> >
> > http://foo.com/mmh/maintenance_plan/tip?contentCategoryType=MaintenanceTip&id=%2Fwww%2Favm_webapps%2Fmmh%2Fmaintenance-tips%2Fcontent%2Fafter_blizzard.xml
> >
> > Being sent to
> >
> >  http://foo.com/mmh/articles/authored/after-blizzard
> >
> > We've got a very frequent process where we'll get a huge block of rewrites
> > like this that vary just by the last part and so far just keep going through
> > and adding dozens and dozens of new rewrite rules each time.  Surely there
> > has to be a better way?  (Ideally that just involve Apache changes and not
> > code changes on the back-end)
>
> Are the requests similar enough that you can write a single regular 
> expression,
> or maybe two or three, that extracts the useful part from the URL in every 
> case?
> For example,
>
> RewriteCond %{REQUEST_URI} ^/mmh/
> RewriteCond %{QUERY_STRING} \%2F(\w+)\.xml$
> RewriteRule .* /mmh/articles/authored/%1
>
> If you can describe all of the requests in this way or something like it, 
> you're
> done.  If not, if each request is so different that it needs its own regular
> expression, then it seems you're doomed to keep doing it as you are now.

Yes, I'm very nearly there, thanks!  The only thing is, I'm not quite
sure how to combine what you have here with a RewriteMap.  If I had
something like this:

RewriteMap vanmap txt:/tmp/map.txt

RewriteCond %{REQUEST_URI} ^/mmh/
RewriteCond %{QUERY_STRING} \%2F(\w+)\.xml$


Then can I just do a rewrite rule at the end like this?

RewriteRule .* /mmh/${vanmap:$1}? [L,NC,R=302]


Because I tried that and it keeps failing to pull any kind of key out
of the REQUEST_URI.

>
> Good luck,
> Andrew.
>
>
> ---------------------------------------------------------------------
> The official User-To-User support forum of the Apache HTTP Server Project.
> See <URL:http://httpd.apache.org/userslist.html> for more info.
> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
>   "   from the digest: users-digest-unsubscr...@httpd.apache.org
> For additional commands, e-mail: users-h...@httpd.apache.org
>

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
   "   from the digest: users-digest-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org

Reply via email to