So just to make sure I have this correct:  the main production server has a
couple pages of rewrites for old URLs and home pages that moved servers or
changed path.  And changing the baseURL with a Redirect directive in a
vhost instead of mod_rewrite will not break any of that?

jim

On Tue, Jun 11, 2019 at 2:34 PM Igor Cicimov <icici...@gmail.com> wrote:

> Agree, much better than all that rewrite gymnastics.
>
> IC
>
> On Wed, Jun 12, 2019, 6:30 AM Frank <thu...@apache.org> wrote:
>
>> No, I assure you, ,mod_rewrite is not needed here.
>>
>> To enforce a canonical hostname, use the Redirect directive and separate
>> vhost. To have all requests handled by a php routing script, use
>> FallbackResource /path/to/file.php
>>
>> Lastly, to redirect to https://, use Redirect from a :80 vhost.
>>
>> On 11/06/19 01:24 PM, Jim Weill wrote:
>> > The sites I am trying to model are drupal-based.  We aren't dealing with
>> > plain static HTML or PHP sites.  We have the main server, which this
>> > test server is trying to mirror, and a secondary project server which
>> > exists to give project people limited root access to update their own
>> > code.  The secondary server also has drupal-based sites, but the
>> > redirections I describe in the issue work on the secondary server.  They
>> > were never implemented in any way on the main production server.  If I
>> > put wiki2.example.com <http://wiki2.example.com>, it should return
>> > wiki2.example.com/wiki2 <http://wiki2.example.com/wiki2>.    And so if
>> I
>> > have site1, wiki2, and www on the main server, I can go to
>> > wiki2.example.com/www <http://wiki2.example.com/www> and get the main
>> > www site, when we want the main site to always turn up
>> > www.example.com/www <http://www.example.com/www>.
>> >
>> > Is this not what mod_rewrite is meant to solve?  I fully admit I am not
>> > well-versed in apache, my prior work was mainly Windows Server and
>> > Exchange, but I am trying to learn this stuff based on what we had set
>> > up long before I came here.
>> >
>> > jim
>> >
>> > On Tue, Jun 11, 2019 at 5:18 AM Frank <thu...@apache.org
>> > <mailto:thu...@apache.org>> wrote:
>> >
>> >     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 <
>> moon...@icsi.berkeley.edu
>> >     <mailto:moon...@icsi.berkeley.edu>
>> >     > <mailto:moon...@icsi.berkeley.edu
>> >     <mailto:moon...@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> <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>
>> >     >     <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>
>> >     >     <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>
>> >     >     <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-unsubscr...@httpd.apache.org
>> >     <mailto:users-unsubscr...@httpd.apache.org>
>> >     For additional commands, e-mail: users-h...@httpd.apache.org
>> >     <mailto:users-h...@httpd.apache.org>
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
>> For additional commands, e-mail: users-h...@httpd.apache.org
>>
>>

Reply via email to