httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Frank <thu...@apache.org>
Subject Re: [users@httpd] mod_rewrite question on directory
Date Tue, 11 Jun 2019 12:18:24 GMT
You are also grossly abusing mod_rewrite for this. It isn't needed at all.

Use FallbackResource, Redirect, and separate vhosts, as Igor mentioned.

On 11/06/19 01:33 AM, Igor Cicimov wrote:
> Since you already have two separate domains why not use virtual hosts
> each with it's own document root?
> 
> IC
> 
> On Tue, Jun 11, 2019, 9:18 AM Jim Weill <moondog@icsi.berkeley.edu
> <mailto:moondog@icsi.berkeley.edu>> wrote:
> 
>     We have a test server, with test sites that are in two different
>     branches of development, but essentially the same base content. 
>     They live at /x/y/z/testsite and /x/y/z/test-site.  We have other
>     sites such as wikis and one-offs which need to stay online on our
>     production server, and I have been testing using rewrites to force
>     the URL to conform to the directory path that is defined in the
>     .conf file. 
> 
>     So for example, in the testsite.conf file, I have the following:
>     RewriteEngine On
>     RewriteCond %{HTTP_HOST} ^www.example.com <http://www.example.com>$ [NC]
>     RewriteRule ^/$  https://testsite.example.com/testsite/ [L,R]
> 
>     alias /testsite "/x/y/z/testsite"
>     <Directory "/x/y/z/testsite">
>     Require all granted
>     RewriteEngine On
>     RewriteBase /testsite
>     RewriteCond %{REQUEST_FILENAME} !-f
>     RewriteCond %{REQUEST_FILENAME} !-d
>     RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
>     RewriteCond %{HTTPS} Off
>     RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI}
>     RewriteCond %{HTTP_HOST} !testsite.example.com
>     <http://testsite.example.com>
>     RewriteRule ^.*$ https://testsite.example.com%{REQUEST_URI} [R]
>     </Directory>
> 
>     The test-site.conf file is the exact same except for adding the
>     hypen in the names.
> 
>     We also have the following in ssl.conf for these:
>     RewriteRule ^(.*)/testsite$          $1/testsite/ [R,NC]
>     RewriteCond %{HTTP_HOST}        testsite\.example\.com
>     RewriteCond %{REQUEST_URI}      ^/testsite(.*)
>     RewriteRule (.*)              
>      https://testsite.example.com%{REQUEST_URI} [R]
>     RewriteCond %{HTTP_HOST}         testsite.example.com
>     <http://testsite.example.com>
>     RewriteCond %{REQUEST_URI}       ^/$
>     RewriteRule (.*)                
>     https://testsite.example.com/testsite/ [R]
> 
>     RewriteRule ^(.*)/test-site$  $1/test-site/ [R,NC]
>     RewriteCond %{HTTP_HOST}        test-site\.example\.com
>     RewriteCond %{REQUEST_URI}      ^/test-site(.*)
>     RewriteRule (.*)              
>      https://test-site.example.com%{REQUEST_URI} [R]
>     RewriteCond %{HTTP_HOST}         test-site.example.com
>     <http://test-site.example.com>
>     RewriteCond %{REQUEST_URI}       ^/$
>     RewriteRule (.*)                
>     https://test-site.example.com/test-site [R]
> 
> 
>     If I leave this as shown, and restart the service, neither page
>     loads at all.  If I comment out the three lines after "RewriteRule
>     ^(.*)/testsite$" and "RewriteRule ^(.*)/test-site$" respectively,
>     the sites load properly.  We have this exact set of rewrites on
>     ssl.conf for all sites on the production server and it rewrites the
>     URL properly.  So I'm not sure where it's failing on the test site. 
>     Logs are set to trace8 on the test server and I'm not getting
>     anything that helps tells me where the problem is.  
>         
> 
>     jim
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message