Hallo,
ich habe 5 Webseiten, die jeweils die gleiche Webcam eingebunden haben. Aktuell werden, wenn es Änderungen/Anpassungen im Skript gibt, immer auf allen 5 Webseiten die Änderungen einzeln durchgeführt.
Nun wäre das Ziel dass:
- es eine "Basiswebseite" gibt, in der das Webcam-Skript eingebunden ist.
- in den anderen 4 Webseite das Skript der "Basiswebseite" abgegriffen und dargestellt wird.
Kann ich das "einfach" umsetzen?
Ich hätte das mal so probiert:
"Basiswebseite":
/public/cam/.htaccess
/public/cam/webcam.php
htacess:
PHP-Code:
# Enable CORS
Header set Access-Control-Allow-Origin "https://webseite1.tld"
Header set Access-Control-Allow-Origin "https://webseite2.tld"
Header set Access-Control-Allow-Origin "https://webseite3.tld"
Header set Access-Control-Allow-Methods "GET, POST, OPTIONS"
Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept"
# Allow OPTIONS requests (pre-flight requests)
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]
# Restrict access to specific domains
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www\.)?webseite1\.tld/ [NC]
RewriteCond %{HTTP_REFERER} !^https://(www\.)?webseite2\.tld/ [NC]
RewriteCond %{HTTP_REFERER} !^https://(www\.)?webseite3\.tld/ [NC]
RewriteRule \.(php|html)$ - [F]
webcam.php
PHP-Code:
<?php
// Set CORS headers to allow access from specific domains
header("Access-Control-Allow-Origin: https://webseite1.tld");
header("Access-Control-Allow-Origin: https://webseite2.tld");
header("Access-Control-Allow-Origin: https://webseite3.tld");
echo '
<div class="ce_image block">
<figure class="image_container">
<a href="https://www.lookr.com/de/lorem/4711" target="_blank" title="Webcam">
<img src="https://www.supersite.tld/webcam-03.jpg" alt="Webcam" width="640" height="480">
</a>
</figure>
</div>
'
?>
in den einzelnen Webseiten https://webseite1.tld bzw. 2 und 3 als Inhaltselement
PHP-Code:
<?php
// ce_template-webcam.html5
$webcamContent = file_get_contents('https://basiswebseite.tld/cam/webcam.php');
echo $webcamContent;
?>
Doch leider wird das Inhaltselement nicht angezeigt.
Hätte auch in der ce_template-webcam.html5
PHP-Code:
<?php include 'https://basiswebseite.tld/cam/webcam.php'; ?>
getestet.
Ein
PHP-Code:
<object data="https://basiswebseite.tld/cam/webcam.php"></object>
funktioniert ... das möchte ich aber vermeiden bzw. nicht einbauen
- Ist mein Vorhaben überhaupt umsetzbar?
- Bin ich am richtigen Weg? bzw. was mache ich falsch?
Danke für die Hilfestellung
Lesezeichen