SSI in PHP-Dateien verwenden
Peter H.
- sonstiges
Ich möchte in meinen Metatags so eine Abfrage reinbringen, welche Metas die Nutzer sehen und nicht sehen sollen. Das habe ich jetzt so umgesetzt (ich arbeite in einer PHP-Datei!)
...
<!--#if expr="$HTTP_USER_AGENT = /^Mozilla/" -->
<!--#else -->
echo " <meta name="description" content="$description">\n";
echo " <meta name="keywords" content="$keywords">\n";
<!--#endif -->
...
Doch aktiviere ich diese PHP-Datei, erscheint folgende Fehlermeldung (Der Server unterstützt 100% SSI):
Parse error: parse error in ... on line 13
Was mach ich falsch?
Ich möchte in meinen Metatags so eine Abfrage reinbringen, welche Metas die Nutzer sehen und nicht sehen sollen. Das habe ich jetzt so umgesetzt (ich arbeite in einer PHP-Datei!)
...
<!--#if expr="$HTTP_USER_AGENT = /^Mozilla/" -->
<!--#else -->
echo " <meta name="description" content="$description">\n";
echo " <meta name="keywords" content="$keywords">\n";
<!--#endif -->
...Doch aktiviere ich diese PHP-Datei, erscheint folgende Fehlermeldung (Der Server unterstützt 100% SSI):
Parse error: parse error in ... on line 13
Was mach ich falsch?
Ja kann ich jetzt kein PHP mehr?
WIE MACHST DU KOMMENTARE??
// Dies ist ein kommentar
/*
dies erst recht
*/
aber nicht html-like <!-- --> !
Wenn es das nicht war, sage doch bitte auch, welches Zeile 13 ist wenn du hier nur snips loslaesst ....
Ähhhhhhhhh,
"<!--" und "-->" sind in diesem Zusammenhang KEINE html-Zeichen, sondern SSI-Zeichen. Du solltest dir meine Frage schon einmal genau durchlesen. Hast du noch nie was von SSI gehört? Dann spar dir doch die Zeit ;) !
Und da du anscheind die Frage nicht richtig gelesen hast, oder noch nichts von SSI gehört hast - was ja nicht schlimm ist - kannst du auch nicht wissen, dass mit der Fehlerzeile 13 natürlich die SSI-Zeile/n gemeint ist (also die mit <!-- ... )
Hallo Peter!
Ich möchte in meinen Metatags so eine Abfrage reinbringen, welche Metas die Nutzer sehen und nicht sehen sollen. Das habe ich jetzt so umgesetzt (ich arbeite in einer PHP-Datei!)
...
<!--#if expr="$HTTP_USER_AGENT = /^Mozilla/" -->
<!--#else -->
echo " <meta name="description" content="$description">\n";
echo " <meta name="keywords" content="$keywords">\n";
<!--#endif -->
...
Warum machst du das denn so? Bei PHP gibt es wunderbar funktionierende if-Abfragen und Funktionen für reguläre Ausdrücke. Du kannst das zum Beispiel so machen:
<?php
if(!preg_match("/^Mozilla//",$HTTP_AGENT))
{
print " <meta name="description" content="$description">\n";
print " <meta name="keywords" content="$keywords">\n";
}
?>
Diese Abfrage prüft, ob $HTTP_USER_AGENT nicht mit "Mozilla/" anfängt und gibt dann diese Meta-Zeilen aus. Oder war deine Abfrage per SSI anders gemeint?
Viele Grüße
Patrick Canterino
<?php
if(!preg_match("/^Mozilla//",$HTTP_AGENT))
{
print " <meta name="description" content="$description">\n";
print " <meta name="keywords" content="$keywords">\n";
}
?>
Ups - es muss natürlich $HTTP_USER_AGENT heißen!
Viele Grüße
Patrick Canterino
use Mosche;
[SSI in PHP-Dateien]
SSI in PHP einbinden ist nur mit dem neuen Apache 2 möglich, und dann auch nur, wenn du es extra aktivierst. Zum jetzigen Zeitpunkt solltest du die Lösung von Patrick benutzen.
use Tschoe qw(Matti);