Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Apache: Users

Setting Headers on a Redirect Scenario

 

 

Apache users RSS feed   Index | Next | Previous | View Threaded


ntkach at gmail

Jun 21, 2012, 12:21 PM

Post #1 of 4 (451 views)
Permalink
Setting Headers on a Redirect Scenario

Ok, I'm pretty sure I know the answer to this, but wanted to run it by
people more experienced. I have an unusual request from some business
users. They want to be able to request a pdf document from one site
(which we do control) when in a web page on a *different* site (which
we do control) *and* have it give that dialog where it prompts the
user to save it. This is the general idea:

1 User hits http://foo.com/sec1/blah/mydoc1.pdf
2 Apache for foo.com "pulls" that pdf as a request to
http://bar.com/blah/otherstuff/mydoc1.pdf
3 Apache for foo.com the offers up the pdf via the original page via
the "save" dialog

The first, naive idea was to have something like this in the virtual
host on foo.com:

RewriteRule ^/sec1/(*.pdf) http://bar.com/blah/otherstuff/mydoc1.pdf

<FilesMatch "/sec1/*.pdf">
Header always set Content-Disposition attachment
</FilesMatch


But that's not going to work, right? Since Apache's going to see that
request, redirect it to the other site, and then the *other* site is
the thing serving up that request, so there's no way the first one can
modify it, right?

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe [at] httpd
For additional commands, e-mail: users-help [at] httpd


nick at webthing

Jun 21, 2012, 1:51 PM

Post #2 of 4 (445 views)
Permalink
Re: Setting Headers on a Redirect Scenario [In reply to]

On 21 Jun 2012, at 20:21, Nick Tkach wrote:

[chop]

You're overcomplicating it. The server that serves the PDF sets its headers.
The one you're redirecting from is irrelevant.

(and it would be better to link to the PDF than to redirect).

--
Nick Kew


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe [at] httpd
For additional commands, e-mail: users-help [at] httpd


ntkach at gmail

Jun 21, 2012, 1:54 PM

Post #3 of 4 (443 views)
Permalink
Re: Setting Headers on a Redirect Scenario [In reply to]

On Thu, Jun 21, 2012 at 3:51 PM, Nick Kew <nick [at] webthing> wrote:
>
> On 21 Jun 2012, at 20:21, Nick Tkach wrote:
>
> [chop]
>
> You're overcomplicating it.  The server that serves the PDF sets its headers.
> The one you're redirecting from is irrelevant.
>
> (and it would be better to link to the PDF than to redirect).
>
> --
> Nick Kew
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe [at] httpd
> For additional commands, e-mail: users-help [at] httpd
>


Ah, good point! Okay, that makes sense, thanks! :)

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe [at] httpd
For additional commands, e-mail: users-help [at] httpd


DRuggeri at primary

Jun 23, 2012, 7:26 AM

Post #4 of 4 (428 views)
Permalink
Re: Setting Headers on a Redirect Scenario [In reply to]

On 6/21/2012 2:21 PM, Nick Tkach wrote:
> Ok, I'm pretty sure I know the answer to this, but wanted to run it by
> people more experienced. I have an unusual request from some business
> users. They want to be able to request a pdf document from one site
> (which we do control) when in a web page on a *different* site (which
> we do control) *and* have it give that dialog where it prompts the
> user to save it. This is the general idea:
>
> 1 User hits http://foo.com/sec1/blah/mydoc1.pdf
> 2 Apache for foo.com "pulls" that pdf as a request to
> http://bar.com/blah/otherstuff/mydoc1.pdf
> 3 Apache for foo.com the offers up the pdf via the original page via
> the "save" dialog
>
> The first, naive idea was to have something like this in the virtual
> host on foo.com:
>
> RewriteRule ^/sec1/(*.pdf) http://bar.com/blah/otherstuff/mydoc1.pdf
>
> <FilesMatch "/sec1/*.pdf">
> Header always set Content-Disposition attachment
> </FilesMatch
>
>
> But that's not going to work, right? Since Apache's going to see that
> request, redirect it to the other site, and then the *other* site is
> the thing serving up that request, so there's no way the first one can
> modify it, right?

Do you control foo.com or bar.com or both? If you only control foo, you
can not set the header. If this is a tight requirement you can't get out
of, your initial idea is close - just add the [P] flag (and load
mod_proxy). However, this will turn foo.com into a proxy to bar.com
which brings its own challenges. If you go this route you will want to
tighten up the RewriteRule pattern a bit more as well as change the
FileMatch to LocationMatch.

--
Daniel Ruggeri

Apache users RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.