Re: [gentoo-user] [Apache HTTPD] Why doesn't my RewriteRule fire?

2011-08-22 Thread Hilco Wijbenga
On 22 August 2011 14:31, Paul Hartman  wrote:
> On Mon, Aug 22, 2011 at 4:07 PM, Hilco Wijbenga
>  wrote:
>>  RewriteRule ^/website$    http://localhost/website/ [T]
>>  ProxyPassMatch    ^/website/(.*)$
>> http://localhost:8000/website/$1
>> 
>>
>> The ProxyPassMatch fires but (AFAICT) the RewriteRule does not. I.e.
>> http://localhost/website (no slash) ==> 404 (in fact, it's trying to
>> serve /var/www/localhost/htdocs/website) but http://localhost/website
>> (with slash) ==> works.
>
> Disclaimer: I am not an Apache guru :)

Well, you know more than I do. :-)

> You have [T] as third parameter to RewriteRule, which is used to
> specify a MIME type,  but you're not specifying anything. Maybe that
> invalidates the rule. Try removing it.
>
> You can also specify multiple RewriteRules which are processed in
> sequence, if trailing slash works maybe you need to first add a rule
> convert URL with no slash to URL with slash:
>
> RewriteRule ^/website$ /website/ [R]

I used to have [P] and then tried [PT] but neither worked. Then for
some unknown reason I deleted the P and left [T] when I sent the
email.

The problem turns out to be that you must put the Rewrite*
configuration stuff in the virtual host, not outside. Then it works.
It's documented but I had glossed over it.



Re: [gentoo-user] [Apache HTTPD] Why doesn't my RewriteRule fire?

2011-08-22 Thread Paul Hartman
On Mon, Aug 22, 2011 at 4:07 PM, Hilco Wijbenga
 wrote:
>  RewriteRule ^/website$    http://localhost/website/ [T]
>  ProxyPassMatch    ^/website/(.*)$
> http://localhost:8000/website/$1
> 
>
> The ProxyPassMatch fires but (AFAICT) the RewriteRule does not. I.e.
> http://localhost/website (no slash) ==> 404 (in fact, it's trying to
> serve /var/www/localhost/htdocs/website) but http://localhost/website
> (with slash) ==> works.

Disclaimer: I am not an Apache guru :)

You have [T] as third parameter to RewriteRule, which is used to
specify a MIME type,  but you're not specifying anything. Maybe that
invalidates the rule. Try removing it.

You can also specify multiple RewriteRules which are processed in
sequence, if trailing slash works maybe you need to first add a rule
convert URL with no slash to URL with slash:

RewriteRule ^/website$ /website/ [R]



[gentoo-user] [Apache HTTPD] Why doesn't my RewriteRule fire?

2011-08-22 Thread Hilco Wijbenga
Hi all,

I hope some Apache guru can help me out. I must be missing something
very obvious.

Assume a default Apache 2.2.17 with all modules installed and -D PROXY
-D INFO in /etc/conf.d/apache2.

My update to the default VHOST:

ForensicLog   /var/log/apache2/forensic.log
ProxyRequests off
RewriteEngine on
RewriteLogLevel   9
RewriteLog/var/log/apache2/rewrite.log

  ServerName localhost
  ServerAdmin root@localhost
  DocumentRoot "/var/www/localhost/htdocs"
  
Options Indexes FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Allow from 127.0.0.1
  
  RewriteRule ^/website$http://localhost/website/ [T]
  ProxyPassMatch^/website/(.*)$
http://localhost:8000/website/$1


The ProxyPassMatch fires but (AFAICT) the RewriteRule does not. I.e.
http://localhost/website (no slash) ==> 404 (in fact, it's trying to
serve /var/www/localhost/htdocs/website) but http://localhost/website
(with slash) ==> works.

Why does the RewriteRule not run? FYI, rewrite.log is created but
stays empty. I don't see any errors or warnings in access.log or
error.log.

Cheers,
Hilco