<div dir="ltr">I may be thinking this wrong but it seems that the internal phpBB redirect will bypass the apache rewrite since it takes place outside of the apache space.&nbsp; What does RedirectMatch do? It is better at handling regex.<br>
<br><div class="gmail_quote">On Tue, Jul 29, 2008 at 6:22 PM, Brian Pitts <span dir="ltr">&lt;<a href="mailto:brian@polibyte.com">brian@polibyte.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I have a question about how to creating a RewriteCond using the http<br>
referer with mod_rewrite for Apache 2.2.<br>
<br>
In my test environment I have a name based virtual host &#39;newbb&#39; which is<br>
hosting an installation of phpBB2. When someone logs in to phpBB via<br>
POSTing login.php, phpBB responds with a 302 redirect to index.php. The<br>
web browser then GETs index.php. However, I would like to browser to<br>
load viewforum.php instead. I could modify phpBB to redirect to<br>
viewforum.php instead of index.php on login, but I thought I would try<br>
accomplishing it through this bit of mod_rewrite first:<br>
<br>
RewriteCond %(HTTP_REFERER) ^<a href="http://newbb/login%5C.php.*$" target="_blank">http://newbb/login\.php.*$</a><br>
RewriteRule ^/index\.php$ viewforum.php?f=2 [R]<br>
<br>
The chain of events I expected was<br>
<br>
GET login.php<br>
200 OK<br>
POST login.php<br>
302 Redirect (from phpBB)<br>
GET index.php<br>
302 Redirect (from mod_rewrite)<br>
GET viewforum.php<br>
200 OK<br>
<br>
However, the last three don&#39;t happen. mod_rewrite doesn&#39;t think the<br>
request for index.php matches the RewriteCond above. The message in the<br>
log is<br>
<br>
RewriteCond: input=&#39;%(HTTP_REFERER)&#39;<br>
pattern=&#39;^<a href="http://newbb/login%5C.php.*$" target="_blank">http://newbb/login\.php.*$</a>&#39; =&gt; not-matched<br>
<br>
I have verified using Firebug that the request for index.php does<br>
includes a referer, e.g.<br>
<br>
<a href="http://newbb/login.php?sid=c1a3ca063842b5e4a7045c0fc278829d" target="_blank">http://newbb/login.php?sid=c1a3ca063842b5e4a7045c0fc278829d</a><br>
<br>
Any idea what I&#39;m doing wrong? I&#39;ve read what I thought was the relevant<br>
apache documentation and googled for examples of rewritecond&#39;s using the<br>
referer but am none the wiser.<br>
<br>
For the curious, the backstort is that I&#39;m using mod_rewrite and some<br>
small changes to phpBB2 to expose one forum through a different domain<br>
name than the rest of a phpBB installation.<br>
<br>
All the best,<br>
Brian<br>
_______________________________________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
<a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>-- <br>James P. Kinney III <br><br>
</div>