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@xxxxxxxxxxxxxxxxx
> <mailto:moondog@xxxxxxxxxxxxxxxxx>> 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@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx