-
-
Notifications
You must be signed in to change notification settings - Fork 213
404 on ce_download/-s #8375
Comments
|
@leofeyer in all diesen Fällen geht es aber nicht darum, ob die Datei überhaupt existiert. Auch in #5178 ging es nicht darum, ob die Datei generell existiert, sondern nur darum, ob die angeforderte Datei in der Liste der selektierten Download Dateien ist. Da musste das Senden des 404 headers entfernt werden, und das ist auch ok. Das hat aber noch nichts damit zu tun, ob die Datei generell existiert. In so einem Fall sollte ein 404 header gesendet werden. Und soweit ich das sehe, würde das in keinem der genannten Fälle ein Problem machen. |
|
Ganzheitlich würde dies das Problem aber dennoch nicht lösen. Angenommen man entfernt das Download(s) Inhaltselement wieder von einer Seite, dann würden URLs mit |
|
Eine mögliche Lösung wäre es, einen Event-Listener auf @contao/developers /cc |
|
Ich finde nicht, nein. Ein 404 ist für eine Seite die nicht gefunden wurde und hat nichts mit einem behandelten oder nicht behandelten Query-Parameter zu tun. Wenn der Query-Parameter nicht passt, soll er einfach ignoriert werden, das ist in meinen Augen das absolut richtige Verhalten. Ich will definitiv keinen 404 hier. |
So kenne ich das für gewöhnlich auch. |
|
Oder man macht es in Zukunft als URL Parameter? Also zB. wenn auf der Seite |
Ich denke nicht, dass das optimal wäre. Was ist wenn ich auf einer Seite den |
|
So seh ich das auch. Das wirkliche Problem liegt darin, dass das Inhaltselement nicht bestimmen kann, ob es zuständig ist oder nicht. Das kann man mit z.B. einem '&cid=42' umgehen.
|
|
Also z.B. |
|
Ja, das scheint mir irgendwie logisch. Wenn ich einen Ajax-Request erwarte muss ich ja auch irgendwie feststellen ob ich gemeint bin, das ist hier nicht anders.
|
|
Wir sollten hierüber nochmal diskutieren, denn die Lösung mit dem |
|
Bei nicht vorhanden sein des if (!\Input::get('cid') || \Input::get('cid') == $this->id)
{
…
} |
|
So könnte man es implementieren, aber das würde das oben angesprochene Google-Problem ja nicht lösen. |
|
Naja, für alte URLs nicht. Für neue URLs kann das spezifizierte Inhaltselement ja dann den 404 Header senden. // soll jetzt überhaupt ein 404 Header gesendet werden in so einem Fall? |
|
Initiale Problembeschreibung:
|
|
what about something like that? <div class="ce_download">
<form method="post">
<input type="hidden" value="filerefence">
<input type="hidden" value="cid">
<input type="submit" value="filename size etc..">
</form>
</div>and on submit pass the download as stream. It would shurely be a BC Break too but this approach would work with no queryParameters at all and it prevents google or other sites to link to the file directly. (if you want that you could still use ce_hyperlink with the filepicker) |
|
Kann man nicht den 200er lassen und:
|
Wie am 12. April auf Mumble besprochen, wollen wir diese Lösung, selbst wenn sie das Problem nur für zukünftige und nicht für bestehende URLs lösen kann. |
|
Implementiert in contao/core-bundle@399bfe6. |

shouldn't the download/-s Elements fire a 404 if the file-parameter is not valid?
Reason is: google indexed some downloads which the customer now deleted because they are obsolete but the google-SeachConsole refuses to kick them out of the index because they still respond with 200.
try the following:
http://demo.contao.org/en/file-elements.html?file=files/contaodemo/media/content-images/DSC_5276.jpg -> 200
http://demo.contao.org/en/file-elements.html?file=files/contaodemo/media/content-images/DSC_5276invalid.jpg -> 200
Im not shure what the best-practice is when handling invalid get-parameters though.
The text was updated successfully, but these errors were encountered: