JasMich.de
Anmeldungsdatum: 26. Mai 2016
Beiträge: 212
Wohnort: Hamburg
|
Moin moin, um es vorweg zu nehmen, dieser Beitrag ist ernst gemeint. Ich habe ein Problem mit der Konfiguration meines Apache2 Servers, auf dem ich gemäß RFC 2324 den HTTP-Status 418 ausgeben möchte, kriege stattdessen aber 500 Internal server error . .htaccess:
Redirect 418 /teapot Ist der Status-Code 418 überhaupt im Apache verfügbar? Wenn ja, wie kann ich den konfigurieren? Gruß, JasMich.de
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5582
|
|
JasMich.de
(Themenstarter)
Anmeldungsdatum: 26. Mai 2016
Beiträge: 212
Wohnort: Hamburg
|
Da taucht nichts auf. Es wird nur
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at [no address given] to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
ausgegeben.
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5582
|
Der Error log vom Apache.
|
JasMich.de
(Themenstarter)
Anmeldungsdatum: 26. Mai 2016
Beiträge: 212
Wohnort: Hamburg
|
Wie gesagt, da wird nichts gelistet, wenn ich die besagte URL aufrufe. Es wundert mich etwas, ich melde ein 500 Internal Server Error sollte doch eigentlich im Error Log drin stehen, oder?
|
JasMich.de
(Themenstarter)
Anmeldungsdatum: 26. Mai 2016
Beiträge: 212
Wohnort: Hamburg
|
Ich habe es auch mit .htaccess:
ErrorDocument 418 /assets/teapot.html
Redirect 418 /teapot
probiert. Bringt nichts.
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5582
|
Wo ist denn dokumentiert, dass man mit Redirect 418 ... einen Error Code 418 ausloesen kann?
|
JasMich.de
(Themenstarter)
Anmeldungsdatum: 26. Mai 2016
Beiträge: 212
Wohnort: Hamburg
|
Ist es nicht so, dass Redirect XXX /path immer den jeweiligen ErrorCode auslöst? Ich kenne das von 410, 301 etc. ...
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5582
|
https://httpd.apache.org/docs/2.4/mod/mod_alias.html Description: Sends an external redirect based on a regular expression match of the current URL Syntax: RedirectMatch [status] regex URL
und weiter:
The status argument can be used to return other HTTP status codes: permanent
Returns a permanent redirect status (301) indicating that the resource has moved permanently. temp
Returns a temporary redirect status (302). This is the default. seeother
Returns a "See Other" status (303) indicating that the resource has been replaced. gone
Returns a "Gone" status (410) indicating that the resource has been permanently removed. When this status is used the URL argument should be omitted. Other status codes can be returned by giving the numeric status code as the value of status. If the status is between 300 and 399, the URL argument must be present. If the status is not between 300 and 399, the URL argument must be omitted. The status must be a valid HTTP status code, known to the Apache HTTP Server (see the function send_error_response in http_protocol.c).
|
JasMich.de
(Themenstarter)
Anmeldungsdatum: 26. Mai 2016
Beiträge: 212
Wohnort: Hamburg
|
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5582
|
JasMich.de schrieb: https://serverfault.com/questions/732836/need-apache2-to-return-418-for-all-requests Ich sehe da gerade, dass Apache anscheinen I'm A Teapot nicht versteht,
Das lese ich aus obigem Link nicht heraus. obwohl der unter https://ci.apache.org/projects/httpd/trunk/doxygen/group__HTTP__Status.html#gabd8f0470d91fe185cfef646db09ca460 gelistet ist. Was soll das denn?
Das ist nur eine Definition. Ich waer mir da nicht so sicher, dass er auch implementiert ist. Wikipedia sagt, dass der Code nur reserviert ist, aber nicht als Teil von HTTP standardisiert. Nichtsdestotrotz ist die Syntax falsch, siehe das Zitat oben.
|
JasMich.de
(Themenstarter)
Anmeldungsdatum: 26. Mai 2016
Beiträge: 212
Wohnort: Hamburg
|
Wie wäre es denn in Version "richtig"?
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5582
|
sebix schrieb: https://httpd.apache.org/docs/2.4/mod/mod_alias.html [...] If the status is not between 300 and 399, the URL argument must be omitted. The status must be a valid HTTP status code, known to the Apache HTTP Server (see the function send_error_response in http_protocol.c).
Also keine URL. Und in http_protocol.c ist 418 ohnehin nicht definiert: https://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/http/http_protocol.c?revision=1840572&view=markup#l135 Dokumentation lesen haette also geholfen.
|
JasMich.de
(Themenstarter)
Anmeldungsdatum: 26. Mai 2016
Beiträge: 212
Wohnort: Hamburg
|
Wäre es denn mögich, über PHP den gefragten status auszugeben?
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5582
|
|