--
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
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).- YSent from a device with a very small keyboard and hyperactive autocorrect.On Wed, Jun 8, 2022, 8:12 AM Thomas WILLIAMSON <t-williamson@xxxxxxxxxxxxxxx> 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 becomehttps://basecolldev.mydomain.fr
My environment specifications: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.
- Linux OpenSUSE Leap 15.3
- Server version: Apache/2.4.51 (Linux/SUSE)
- PHP 7.4.6 (cli) ( NTS )
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 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