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
>

Reply via email to