Ich benutze Youtube Video IMG.Remote URL Bild zeigt auf unserer Website
Beispiel Link: https://i.ytimg.com/vi/aSVpBqOsC7o/hqdefault.jpg
Ich möchte: http://cdn.mywebsite.com/vi/aSVpBqOsC7o/hqdefault.jpg
Wie kann ich es tun mit PHP und .htaccess?
Ich benutze Youtube Video IMG.Remote URL Bild zeigt auf unserer Website
Beispiel Link: https://i.ytimg.com/vi/aSVpBqOsC7o/hqdefault.jpg
Ich möchte: http://cdn.mywebsite.com/vi/aSVpBqOsC7o/hqdefault.jpg
Wie kann ich es tun mit PHP und .htaccess?
Der Apache http Server kommt mit großartigen Modulen, darunter das Proxy-Modul. Es bietet genau das, was Sie ohne die Notwendigkeit einiger Skriptsprache suchen oder ähnlich:
Der einfache und direkte Ansatz ist es, die gesamte URL https://i.ytimg.com/vi/
in Ihrem eigenen Domain-Raum-Proxy:
ProxyRequests off
ProxyPass /vi/ https://i.ytimg.com/vi/
Für die Dokumentation siehe: https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxypass
Ein weiterer apporach, die mehr Flexibilität bietet, um das Proxy-Modul zu verwenden, aus der Rewrite-Modul:
sieheRewriteEngine on
RewriteRule ^/?vi/([^/]+)/(.+)$ https://i.ytimg.com/vi/$1/$2 [L,P]
Für die Dokumentation: http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule
Der gleiche Effekt wie der erste Ansatz kann auch durch eine Notation erreicht werden, die auf dem Host-Konfiguration beschränkt ist:
ProxyRequests off
<Location /vi/>
ProxyPass https://i.ytimg.com/vi/
</Location>
Beide oberen Ansätze können innerhalb der HTTP-Host-Konfiguration oder, wenn dies wirklich erforderlich ist, in dynamischen Konfigurationsdateien verwendet werden (.htaccess
Stildateien). Im Allgemeinen sollten Sie solche Regeln immer in der Host-Konfiguration platzieren. .htaccess
Style-Dateien fügen Komplexität hinzu, sind notorisch fehleranfällig, schwer zu debuggen und sie verlangsamen wirklich den http-Server. Sie werden nur als letzte Option für Situationen angeboten, in denen Sie keine Kontrolle über die Host-Konfiguration haben (lesen Sie: wirklich günstige Hosting-Service-Provider) oder wenn Sie eine Anwendung haben, die eigene Schreibregeln schreibt (was ein offensichtlicher Sicherheitsalarm ist)).
Vielen Dank, aber nicht für mich arbeiten. Ich habe diesen Code in .htacces hinzugefügt, funktioniert aber nicht. – Kenan
@ KenanS.Cayangil Und "aber nicht funktioniert" bedeutet was _exactly_? Welchen Fehler bekommst du? Was sagt Ihre HTTP-Server-Fehlerprotokolldatei? – arkascha
Es tut mir leid. Fehler: 500 Interner Serverfehler Ein interner Serverfehler ist aufgetreten. – Kenan