Apache2 Virtual Hosts and mod_rewrite Configuration

techlists at phpcoderusa.com techlists at phpcoderusa.com
Sun Sep 8 07:10:56 MST 2024


Hi,

I am looking at some documentation that seems to be contradictory.

The default root for Apache2 is /var/www/html. (on Ubuntu 24.04lts)

The article I am looking at shows that a new virtual host should have a 
path /var/www/[domain]/public_html.

So far so good.

ChatGPT says to add the following code to the default virtual host 
configuration file as part of the configuration of mod_rewrite:

<Directory /var/www/html>
     RewriteEngine On
     RewriteRule ^oldpage.html$ newpage.html [R=301,L]
</Directory>

I'm thinking to make the mod_rewrite apply to all virtual hosts the path 
needs to be /var/www/ like this:

<Directory /var/www/>
     RewriteEngine On
     RewriteRule ^oldpage.html$ newpage.html [R=301,L]
</Directory>

Another article shows:

     <Directory /var/www/html>
         Options Indexes FollowSymLinks
         AllowOverride All
         Require all granted
     </Directory>

This seems to imply each virtual host will need to be configured 
individually for mod_rewrite like this:

     <Directory /var/www/[domain]/public_html/>
         Options Indexes FollowSymLinks
         AllowOverride All
         Require all granted
     </Directory>

And the mod_rewrite configuration also requires a .htaccess file.

Any thoughts are much appreciated.

Keith


More information about the PLUG-discuss mailing list