
Diese Frage bezieht sich auf die Veröffentlichung des Ubuntu Serverguide auf help.ubuntu.com. Für den 20.04 LTS-Zyklus wird es (OK, vielleicht) erhebliche Änderungen am Quellcode-Workflow für den Ubuntu Serverguide geben. Derzeit werden für diese Migration keine Übersetzungen in Betracht gezogen. Unser bestes Feedback war, dass Serveradministratoren Englisch bevorzugen, auch wenn es nicht ihre Muttersprache ist. Bevor die Entscheidung unumkehrbar wird, möchten wir sie testen, indem wir die nächste Zwischenversion des 18.04 Ubuntu Serverguide nur in US-Englisch veröffentlichen. Alles ist fertig, bis auf ein Problem:
Wir wissen mit Sicherheit, dass es viele Links, Lesezeichen usw. mit der Spracherweiterung gibt. Beispiel:
https://help.ubuntu.com/lts/serverguide/networking.html.en-CA
Und wir möchten, dass dieses Szenario stattdessen diese Seite zurückgibt:
https://help.ubuntu.com/lts/serverguide/networking.html
weil die sprachspezifischen Versionen nicht mehr vorhanden sein werden, die Rückgabe eines 404-Fehlers „Nicht gefunden“ jedoch unerwünscht ist.
Die aktuelle Version einer .htaccess-Datei mit auskommentierten vorherigen Versuchen lautet:
# 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
Ergebend:
500 Internal Server Error
an den Client und dies in den Testserver-Protokollen:
[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
Beachten Sie, dass aktuelle Versuche mit einem Platzhalter für die Spracherweiterung erfolgen. Wenn dies nicht möglich ist, lautet die Sprachenliste:
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
Kann jemand dabei helfen?
Antwort1
RewriteRule ^(.*.html)\..*$ $1
Dies wird /foobar.html.anything
in umgeschrieben /foobar.html
und scheint das zu tun, was Sie wollen.
Wenn die Nachricht dauerhaft sein soll, sollten Sie wahrscheinlich eine 301-Nachricht senden:
RewriteRule ^(.*.html)\..*$ $1 [R=301]