httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jim Weill <moon...@icsi.berkeley.edu>
Subject Re: [users@httpd] mod_rewrite question on directory
Date Tue, 11 Jun 2019 17:24:22 GMT
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, it should return 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 and get the main www site, when we want the main site
to always turn up 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 <thumbs@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 <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