Hello, Thank you for such a quick response! Modifying this option in file /etc/apache2/default-server.conf within <Directory "/var/www"> returns a prohibited access (403 error) page:
[image: image.png] -- Thomas WILLIAMSON • Technicien Systèmes et réseaux *Tél.* 05 49 61 25 25 (*interne *: 2235) *Eaux de Vienne - Siveer* • 55 rue de Bonneuil-Matours • 86000 Poitiers Le mer. 8 juin 2022 à 14:19, Yehuda Katz <yeh...@ymkatz.net> a écrit : > You have "AllowOverride None" in your "<Directory "/var/www">". This means > your .htaccess file and therefore your mod_rewrite configuration is not > being read. The simplest option is "AllowOverride All" (you can specify > specific overrides too if you want). > > - Y > > Sent from a device with a very small keyboard and hyperactive autocorrect. > > On Wed, Jun 8, 2022, 8:12 AM Thomas WILLIAMSON < > t-william...@eauxdevienne.fr> wrote: > >> Hello, >> >> I have to take over an internal Web server that has been configured by a >> colleague who is no longer there. Our developers team asks me to convert >> applications URLs from an *Alias* to a *Virtualhosts* (subdomain naming) >> system. For instance: >> >> https://srv-intra.mydomain.fr/basecolldev >> >> >> should become >> >> https://basecolldev.mydomain.fr >> >> >> My environment specifications: >> >> - Linux OpenSUSE Leap 15.3 >> - Server version: Apache/2.4.51 (Linux/SUSE) >> - PHP 7.4.6 (cli) ( NTS ) >> >> *Issue description: *I can connect to https://basecolldev.mydomain.fr >> despite some 404 errors showing in access_log file (see at the end of the >> post). I have then a 404 error page when clicking the *login* button >> that redirects to https://basecolldev.mydomain.fr/login. The login page >> is found and displayed properly when I manually modify the URL to >> https://basecolldev.mydomain.fr/index.php/login. This means that >> /index.php is not required for home page connection but is for browsing >> the website. I need to permanently prevent the /index.php suffix to show >> up in URL. >> >> I describe below what I have configured so far and what remains >> unfunctionnal. >> >> I have first created a new vhost file >> /etc/apache2/vhost.d/basecolldev-ssl.conf : >> >> <VirtualHost basecolldev.mydomain.fr:443> >> >> >>> DocumentRoot "/var/www/BaseCollDev/public" >>> ServerName basecolldev.mydomain.fr >>> ErrorLog /var/log/apache2/basecolldev-error_log >>> TransferLog /var/log/apache2/basecolldev-access_log >>> LogLevel alert rewrite:trace8 >> >> >>> <Directory /var/www/BaseCollDev/public> >>> #Order allow,deny >>> #allow from all >>> #AllowOverride All >>> Require all granted >>> Options -Indexes -Includes -ExecCGI -FollowSymlinks >>> </Directory> >> >> >>> </VirtualHost> >> >> >> I have then commented the lines related to the application Directory tag >> in file /etc/apache2/default-server.conf : >> >> DocumentRoot "/var/www" >> >> >>> <Directory "/var/www"> >>> Options FollowSymLinks >>> AllowOverride None >>> <IfModule !mod_access_compat.c> >>> Require all granted >>> </IfModule> >>> <IfModule mod_access_compat.c> >>> Order allow,deny >>> Allow from all >>> </IfModule> >>> </Directory> >> >> >>> Alias /icons/ "/usr/share/apache2/icons/" >>> Alias /phpmyadmin "/srv/www/htdocs/phpMyAdmin" >> >> >>> <Directory "/usr/share/apache2/icons"> >>> Options Indexes MultiViews >>> AllowOverride None >>> <IfModule !mod_access_compat.c> >>> Require all granted >>> </IfModule> >>> <IfModule mod_access_compat.c> >>> Order allow,deny >>> Allow from all >>> </IfModule> >>> </Directory> >> >> >>> >>> #<Directory "/var/www/BaseCollDev/public"> >>> # AllowOverride All >>> # Require all granted >>> #</Directory> >> >> >>> ScriptAlias /cgi-bin/ "/srv/www/cgi-bin/" >> >> >>> <Directory "/srv/www/cgi-bin"> >>> AllowOverride None >>> Options +ExecCGI -Includes >>> <IfModule !mod_access_compat.c> >>> Require all granted >>> </IfModule> >>> <IfModule mod_access_compat.c> >>> Order allow,deny >>> Allow from all >>> </IfModule> >>> </Directory> >> >> >>> <IfModule mod_userdir.c> >>> UserDir public_html >>> Include /etc/apache2/mod_userdir.conf >>> </IfModule> >> >> >>> IncludeOptional /etc/apache2/conf.d/*.conf >> >> >>> IncludeOptional /etc/apache2/conf.d/apache2-manual?conf >> >> >> ---- >> >> Extract from /var/log/apache2/basecolldev-access_log file relating to a >> connection to the home page: >> >> 10.9.4.140 - - [03/Jun/2022:11:02:31 +0200] "GET / HTTP/1.1" 200 54206 >>> 10.9.4.140 - - [03/Jun/2022:11:02:31 +0200] "GET >>> /build/runtime.d94b3b43.js HTTP/1.1" 200 1505 >>> 10.9.4.140 - - [03/Jun/2022:11:02:31 +0200] "GET /build/app.13d64c6c.js >>> HTTP/1.1" 200 236 >>> 10.9.4.140 - - [03/Jun/2022:11:02:31 +0200] "GET /build/2.9935185b.css >>> HTTP/1.1" 200 64639 >>> 10.9.4.140 - - [03/Jun/2022:11:02:31 +0200] "GET /build/app.6cefaab5.css >>> HTTP/1.1" 200 163752 >>> 10.9.4.140 - - [03/Jun/2022:11:02:31 +0200] "GET /build/2.28b18d57.js >>> HTTP/1.1" 200 261268 >>> 10.9.4.140 - - [03/Jun/2022:11:02:31 +0200] "GET >>> /build/images/logoEdVBlanc.png HTTP/1.1" 200 6579 >>> 10.9.4.140 - - [03/Jun/2022:11:02:31 +0200] "GET /_wdt/b07606 HTTP/1.1" >>> 404 1280 >>> 10.9.4.140 - - [03/Jun/2022:11:02:31 +0200] "GET >>> /build/fonts/fa-solid-900.e8a427e1.woff2 HTTP/1.1" 200 78196 >>> 10.9.4.140 - - [03/Jun/2022:11:02:32 +0200] "GET /favicon.ico HTTP/1.1" >>> 404 1280 >>> 10.9.4.140 - - [03/Jun/2022:11:02:32 +0200] "GET /_wdt/b07606 HTTP/1.1" >>> 404 1280 >>> 10.9.4.140 - - [03/Jun/2022:11:02:33 +0200] "GET /_wdt/b07606 HTTP/1.1" >>> 404 1280 >>> 10.9.4.140 - - [03/Jun/2022:11:02:34 +0200] "GET /_wdt/b07606 HTTP/1.1" >>> 404 1280 >>> 10.9.4.140 - - [03/Jun/2022:11:02:35 +0200] "GET /_wdt/b07606 HTTP/1.1" >>> 404 1280 >> >> >> Extract from /var/log/apache2/basecolldev-access_log file relating to a >> connection to the login page: >> >> 10.9.4.140 - - [03/Jun/2022:11:03:47 +0200] "GET /login HTTP/1.1" 404 1280 >> >> >> I see no logs in /var/log/apache2/basecolldev-error_log file. >> >> I enclose .htaccess files contents if necessary. >> >> File /var/www/.htaccess : >> >> # BEGIN WordPress >>> <IfModule mod_rewrite.c> >>> RewriteEngine On >>> RewriteBase / >>> RewriteRule ^index\.php$ - [L] >>> RewriteCond %{REQUEST_FILENAME} !-f >>> RewriteCond %{REQUEST_FILENAME} !-d >>> RewriteRule . /index.php [L] >>> </IfModule> >>> # END WordPress >> >> >> File /var/www/BaseCollDev/public/.htaccess : >> >> DirectoryIndex index.php >> >> >>> <IfModule mod_negotiation.c> >>> Options -MultiViews >>> </IfModule> >> >> >>> <IfModule mod_rewrite.c> >>> RewriteEngine On >> >> >>> RewriteCond %{REQUEST_URI}::$0 ^(/.+)/(.*)::\2$ >>> RewriteRule .* - [E=BASE:%1] >> >> >>> RewriteCond %{HTTP:Authorization} .+ >>> RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0] >> >> >>> RewriteCond %{ENV:REDIRECT_STATUS} ="" >>> RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L] >> >> >>> RewriteCond %{REQUEST_FILENAME} !-f >>> RewriteRule ^ %{ENV:BASE}/index.php [L] >>> </IfModule> >> >> >>> <IfModule !mod_rewrite.c> >>> <IfModule mod_alias.c> >>> RedirectMatch 307 ^/$ /index.php/ >>> </IfModule> >>> </IfModule> >> >> >> >> Please note this case has been described here >> <https://stackoverflow.com/questions/72487821/apache-website-conversion-from-alias-to-virtualhost> >> but has not received any help so far. >> >> >> -- >> >> >> Thomas WILLIAMSON • Technicien Systèmes et réseaux >> >> *Tél.* 05 49 61 25 25 (*interne *: 2235) >> >> *Eaux de Vienne - Siveer* • 55 rue de Bonneuil-Matours • 86000 Poitiers >> >