httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: [users@httpd] mod_rewrite exception
Date Tue, 25 Dec 2007 16:37:01 GMT
On 12/24/07, Thomas Hart <> wrote:
> As some of you may be aware, apache has a bug in how it handles pooled
> connections to an ldap server (to be fair, it's not an apache bug, it's
> a problem with windows active directory acting differently than it's
> supposed to). The gist of it is that if apache doesn't connect to a
> Windows 2003 Active Directory server to do an ldap auth for 10 minutes,
> then the connection times out. However the communication between the
> ldap server and apache is not handled correctly and apache bounces the
> request with a 500 internal server error. There are a couple patches on
> the bugzilla for this, however re-compiling apache is not an option for
> me at this time unfortunately.
> My current idea for a workaround is this. I'd like to set up a cron job
> (the windows equivalent anyway) that connects to the apache server and
> sends http headers with auth info every 5 minutes, so that the apache
> server is reusing that connection every 5 minutes, thus keeping it from
> reaching the "fail state". I've crafted a script that sends pre-crafted
> http headers to the web server, containing the auth information. Here's
> my issue:
> I have a rewrite rule
> RewriteEngine on
> RewriteCond %{SERVER_PORT} !^443$
> RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
> that takes all requests and changes them to https (seems to even if the
> web address is https). This causes apache to respond with a "page has
> moved" page, and it doesn't request the auth info. What I need to do is
> this (sorry for the long explanation).
> I need to modify my rewrite rule, so that it excludes one page
> (https://server/testing/test.php). This way I can request that page, and
> apache will pay attention to the auth headers, and my goal will be
> accomplished :-) Any regex/rewrite gurus that can point me in the right
> direction?
> Tom Hart

Add conditions to test the protocol and bypass the specific URL.

RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{SERVER_PROTOCOL} !^https$ [NC]
RewriteCond %{REQUEST_URI} !^/testing/test\.php$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

For your example, the specific URL test will not be needed if the
protocol test works properly.


The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:> for more info.
To unsubscribe, e-mail:
   "   from the digest:
For additional commands, e-mail:

View raw message