URL: https://www.overclockers.at/coding-stuff/javascript-und-url-abfrage_238086/page_1 - zur Vollversion wechseln!
Guten Morgen.
Ich bin in unserem Shop System auf ein kleines Hindernis gestossen, das ich mit php sehr gechillt lösen kann.
Das Shop System hat im Prinzip 2 Ebenen.
Ebene 1 ist der html Shop. Dort bewegt man sich mit einzelnen html Seiten wie auf einer normalen HP. Super für Google.
Sobald der Kunde aber etwas bestellen möchte, wechselt er automatisch in den dynamischen Shop, welcher halt für Google nicht wirklich optimal ist.
Funktioniert auch alles perfekt.
Nun muss ich an einer Stelle einen url ändern, was ich mittels folgendem Script vor hatte.
Code: PHP<?php $url=$_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF']; if (!strpos($url,'cgi-bin')) { $homeurl="http://www.sutertech-shop.ch/shop_s/"; } else { $homeurl="http://__xxpath__?show0,__xxsession__"; } ?> ... ... <li><a href=<?php echo $homeurl; ?>>Home</a></li>
Ich verstehe nicht, was du nun eigentlich willst. Wieso soll der PHP-Code nicht funktionieren?
weil der html shop komplett aus html files besteht, und darum keinen php code ausführt.
http://www.sutertech-shop.ch/shop_s
wenn du rechts auf anmelden klickst landest du im dynamische Shop
Ich versteh's auch nicht ganz, das wird doch alles auf dem gleichen Server liegen und von dem auch ausgeliefert werden? Dann sollte doch der PHP-Parser ganz normal funktionieren.
Anyways:
Code: HTML<script> (function(){ var url = window.location.href, homeUrl = ""; if(url.indexOf('test') !== -1){ homeUrl="http://www.sutertech-shop.ch/shop_s/"; }else{ homeUrl="http://__xxpath__?show0,__xxsession__"; } var link = document.getElementById('homelink'); link.setAttribute('href', homeUrl); })(); </script>
Hui das ist schon ein altes System.. Ist der Shop eine Eigenentwicklung?
Wenn die Google-Ergebnisse ausschlaggebend sind, wirds früher oder später wohl nicht ausbleiben, auf eine modernere Software mit Rewrite-Engine zurückzugreifen oder entsprechende Funktionalitäten in die Alte einzubauen.
Genau sowas in der Art.
Aber wie gesagt, wirklich 0 Plan von Java.
Wie binde ich dann die Link ID in ein ?
Zitat von ObermotzHui das ist schon ein altes System.. Ist der Shop eine Eigenentwicklung?
Wenn die Google-Ergebnisse ausschlaggebend sind, wirds früher oder später wohl nicht ausbleiben, auf eine modernere Software mit Rewrite-Engine zurückzugreifen oder entsprechende Funktionalitäten in die Alte einzubauen.
Naja, der Link müsste halt dann folgendermaßen aussehen:
Code: HTML<li><a id="homelink" href="http://www.sutertech-shop.ch/shop_s/">Home</a></li>
Ich würde es nicht nachträglich mit Javascript machen, das ist ein furchtbarer Workaround, der ohne Javascript oder für Bots nicht funktioniert.
Wenn das gecachte HTML-Seiten sind, an denen sich nichts rütteln lässt, dann ersetze einfach die vorkommenden URLs und für die neuen HTML-Seiten ändere den PHP-Code.
Alternativ könntest du noch mit mod_rewrite arbeiten und die URLs umschreiben.
Uiii ein Nachbar, nicht an der Tagwache?
Ich bekomme schöne Javascript Fehler wenn ich mir die Referenzen ansehe.
Die solltest Du eventuell auch mal beachten.
Grüsse vom Ruopigenplatz
/EDIT: Browser IE9, mit dem IE11 gehts.
Zitat von matIch würde es nicht nachträglich mit Javascript machen, das ist ein furchtbarer Workaround, der ohne Javascript oder für Bots nicht funktioniert.
Zitat von othanUiii ein Nachbar, nicht an der Tagwache?
Ich bekomme schöne Javascript Fehler wenn ich mir die Referenzen ansehe.
Die solltest Du eventuell auch mal beachten.
Grüsse vom Ruopigenplatz
/EDIT: Browser IE9, mit dem IE11 gehts.
Mittlerweile funktioniert das Ganze ohne Gewaltsmassnahmen.
Trotzdem ist da noch ein weiteres Problem ausgetaucht. Unser Chef hat eine Firma beauftragt, welche den Shop optimieren soll. Kostet unglaublichviel Geld und bringt nicht viel. Aber das ist seine Sache.
Unglücklicherweise, machen die mir damit das Leben richtig schwer.
Nun soll in jeden Header, welcher nicht cgi aufgerufen wird (also den *dynamischen* Shop*)
<meta name="robots" Content="noindex, nofollow" /> eingefügt werden. Aber nur in die Header vom dynamischen, was nicht geht, weil es die selben Vorlagen Dateien sind.
Per PHP lässt sich das nicht lösen, weil kein php in html files. Hat irgend jemand ne Idee wie es vielleicht doch funktionieren könnte ?
Im Prinzip muss für jeden URL der cgi enthält <meta name="robots" Content="noindex, nofollow" /> freigeschaltet werden, für die anderen URL nicht.
mir dröhnt der Schädel
Hmmm. Bereitet ein php include im Header, welcher im html eh nicht ausgeführt hat, irgendwelche Probleme ?
Sonst pack ich einfach in jedes File einen Include, welcher den entsprechenden meta tag importiert. Und da in den html files eh keine php ausgeführt wird, steht halt der Meta Tag dort nicht drin. Nur der include Befehl.
Sollte doch auch funktionieren oder ?
edith meint: verdammt. der führt auch kein php aus. Da steht nur der komplette Code im Header
Ich versteh gar nix .
Der Webshop besteht jetzt aus zwei Teilen; einem statischen der old-school über echte HTML-Files navigiert wird und einen dynamischen mit PHP. Und jedes HTML-File des statischen Teils welches einen Link enthält, dessen href 'cgi' enthält, soll diesen meta-Tag bekommen?
Edit: Ja, <?php [...] ?> wird einfach vom Browser ignoriert aber es hat einen extrem bitteren Beigeschmack . Vielleichts wirds Zeit den Shop endgültig einzuschläfern.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025