Portanto, tenho o seguinte problema: quando uso https://www.example.com como domínio, obtenho o conteúdo, mas quando uso https://example.com recebo a página de erro TYPO3 404 genérica.
Tentei configurar um redirecionamento com example.com e .* como caminho de origem e minha página inicial como destino e também tentei configurar baseVariants na configuração do site. É um pouco estranho que minha base normal seja apenas example.com e não www.example.com , mas www.example.com é aquele que está funcionando enquanto o outro dá apenas 404.
Preciso ter https://example.com e https://example.com configurados para obter a mesma página.
Eu uso o TYPO v12.4.14 em um Ubuntu 22.04.4 com um servidor Web Apache e PHP 8.1
[Isso é o que tentei com os redirecionamentos. Mas isso não funciona porque a expressão regular não possui delimitadores. Pelo menos foi isso que aprendi desde que fiz esse post inicialmente] 1
Edição 2: tentei fazer 2 vhosts para redirecionar example.com para www.example.com . Aqui estão meus arquivos de configuração:
Arquivo 1 exemplo.conf:
<VirtualHost *:80>
ServerName example.com
ServerAdmin [email protected]
Redirect permanent / https://www.example.com
</VirtualHost>
Arquivo 2 exemplo-ssl.conf
<VirtualHost *:443>
ServerName example.com
ServerAdmin [email protected]
Redirect permanent / https://www.example.com
</VirtualHost>
Agora funciona para http:// exemplo. com, mas não para https:// exemplo. com
Nota: perguntei isso antes no estouro de pilha e copiei para aqui.
Este é meu conf padrão 000-default-le-ssl.config
<IfModule mod_ssl.c>
<VirtualHost *:443>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
# ServerName example.com
ServerAdmin [email protected]
DocumentRoot "/var/www/Example/public/"
<Directory "/var/www/Example/public">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
</IfModule>
<IfModule mod_ssl.c>
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
Redirect permanent / https://www.example.com/
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
Remova a
Redirect permanent / https://www.example.com
diretiva do seu arquivo 2 (example-ssl.conf) e adicione uma regra para forçar www. em seu URI.Sua configuração example-ssl.conf deve ficar assim:
O RewriteCondition verifica se o host é o seu domínio e sem www. Nesse caso, ele redireciona para www.example.com . Como este é o lado do servidor, o erro 404 deve desaparecer.
EDIT: Se a reescrita no VHost não funcionar, você também pode movê-lo para o arquivo .htaccess no Docroot. O htaccess padrão TYPO3 vem com uma seção de reescrita. Deve estar localizado na linha 300 ao redor. Deve então ficar assim: