Print

Print


As Joe cautioned might happen with the N directive, I get an infinite loop from this. It keeps prepending the domain name so you get http://www.google-com.topcat.switchinc.org/http://www.google-com.topcat.switchinc.org/<http://www.google-com.topcat.switchinc.org/http:/www.google-com.topcat.switchinc.org/>/ after the second pass, after the third pass you get the full domain three times and so on.



My not-so-genius solution to this problem is just to put in the same RedirectRule 6 times in a row and skip the N directive. Not optimal, but this seems to work fine:



RewriteEngine on

RewriteCond %{HTTP_HOST} ^(.*)-(.*)ezproxy.switchinc.org

RewriteRule ^(.*) %1.%2 ezproxy.switchinc.org$1

RewriteRule ^(.*)-(.*)ezproxy.switchinc.org(.*) $1.$2ezproxy.switchinc.org$3 (I repeated this 5 times)

RewriteRule ^(.*)ezproxy.switchinc.org/(.*) https://0-$1topcat.switchinc.org$2 [L]



Thanks everyone!



Karl Holten

Systems Integration Specialist

SWITCH Inc

414-382-6711



-----Original Message-----
From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of Joe Hourcle
Sent: Monday, May 18, 2015 8:59 AM
To: [log in to unmask]
Subject: [CODE4LIB] oops (was: [CODE4LIB] Any Apache mod_rewrite experts out there?)



On Mon, 18 May 2015, Joe Hourcle wrote:





>  RewriteRule ^(.*)-(.*)ezproxy.switchinc.org/(.*)

> $1.$2ezproxy.switchinc.org/$3 [N]



I wasn't thinking ... RewriteRule doesn't operate on the full URL, only on the non-host portion.  You might need to do strange things w/ RewriteCond and RewriteRule instead:



   RewriteCond %{HTTP_HOST} ^(.*)-(.*)ezproxy.switchinc.org

   RewriteRule ^(.*) http://%1.%2ezproxy.switchinc.org/$1<http://%251.%2ezproxy.switchinc.org/$1> [N]



The %1 and %2 come from the captures in RewriteCond, while the $1 comes from RewriteRule.



-Joe