
Esta pregunta se refiere a la publicación de la guía del servidor Ubuntu en help.ubuntu.com. Para el ciclo 20.04 LTS, habrá (bueno, podría) haber cambios significativos en el flujo de trabajo del código fuente para la guía del servidor Ubuntu. Actualmente, no se están considerando traducciones para esta migración. Nuestros mejores comentarios han sido que los administradores de servidores prefieren el inglés, incluso si no es su primer idioma. Antes de que la decisión sea irreversible, queremos probarla realizando la siguiente versión de la guía del servidor Ubuntu 18.04 solo en inglés de EE. UU. Todo está listo, excepto una cuestión:
Sabemos con certeza que existen muchos enlaces, marcadores, etc. con la extensión de idioma. Ejemplo:
https://help.ubuntu.com/lts/serverguide/networking.html.en-CA
Y queremos que ese escenario devuelva esta página en su lugar:
https://help.ubuntu.com/lts/serverguide/networking.html
porque las versiones específicas del idioma ya no existirán, pero no es deseable devolver un error 404 No encontrado.
La versión actual de un archivo .htaccess, con intentos anteriores comentados, es:
# unable to make below method work.
#RedirectMatch permanent ^(*\.html)\.*$ $1
#
# enable rewriting
RewriteEngine on
#RewriteRule ^(*\.html)\.*$ $1 [R=301, L]
#RewriteRule ^(*\.html)\.*$ $1
RewriteRule ^(*\.html)\.*$ $1 [PT]
#RewriteRule ^(*.html).*$ $1
Resultando en:
500 Internal Server Error
al cliente, y esto en los registros del servidor de prueba:
[Thu Jun 20 11:57:07.647838 2019] [core:alert] [pid 16079] [client 192.168.111.101:62992] /home/doug/public_html/linux/ubuntu-docs/help.ubuntu.com/dev/lts/serverguide/.htaccess: RewriteRule: cannot compile regular expression '^(*\\.html)\\.*$', referer: http://my-test-website/~doug/linux/ubuntu-docs/help.ubuntu.com/dev/index.html
[Thu Jun 20 14:19:27.360334 2019] [core:alert] [pid 16079] [client 192.168.111.101:63908] /home/doug/public_html/linux/ubuntu-docs/help.ubuntu.com/dev/lts/serverguide/.htaccess: RewriteRule: cannot compile regular expression '^(*\\.html)\\.*$', referer: http://my-test-website/~doug/linux/ubuntu-docs/help.ubuntu.com/dev/index.html
Tenga en cuenta que los intentos actuales tienen un comodín para la extensión del idioma. Si eso no es posible, entonces la lista de idiomas es:
ace ar ast be bg bn bs ca cs da de el en en_AU en_CA en_GB eo es et eu fa fi fr gl gu he hr hu id is it ja km ko ku lo lt lv mk ms nb nl oc pl ps pt_BR pt ro ru sk sl sq sr sv th tl tr ug uk ur vi zh_CN zh_TW
¿Alguien puede ayudar con esto?
Respuesta1
RewriteRule ^(.*.html)\..*$ $1
Esto se reescribe /foobar.html.anything
y /foobar.html
parece hacer lo que quieres.
Si pretende ser permanente, probablemente deberías enviar un 301:
RewriteRule ^(.*.html)\..*$ $1 [R=301]