Suche auf lima-city
-
in: Url Rewrite in .htaccess
geschrieben von girogratis
Hallo Daniel,
ja der Code oben prüft nur das aller-letzte Zeichen, ob es ein / ist
ich wusste nicht, dass du jetzt doch mehr als eine Variable übergeben willst
aber auch das ist lösbar
.... entweder anderes Trenner-Zeichen zwischen den Variablen
also anstatt var1/var2 eben var1_var2 und dann bei explode() mit den neuen Trenner aufteilen
(das wäre wohl das einfachste)
... oder bei aufteilen der Variablen mit explode zählen,
wie oft das / Zeichen vorkommt, und dem entsprechend den Stylesheet-Pfad anpassen
$vars = explode('/', $url[1]); $var_anzahl = count($vars); $stylepath = ''; $pfad_stufe = "../"; if ($var_anzahl > 0) { for $x=0; $x<$var_anzahl; $x++) { $stylepath .= $pfad_stufe; } } else { $stylepath = './'; } // ---- und dann im Template die Stylesheet Datei mit dem $stylepath laden echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"".$stylepath."styles/style.css\" />\n";
nicht getestet, nur ne Idee :)
also so machen,
wenn du nur /var hast, dann eine Ebene runter
wenn Du /var1/var2 hast, dann zwei Ebene runter mit ../../
wenn du /var1/var2/var3 hast dann drei Ebenen runter mit ../../../
usw.
kann man bestimmt auch anders / besser machen, z.B. mit case ... switch oder foreach()
nur so als Idee die Schleife je / Zeichen in Varnamen-String eine Stufe runter für .css Datei href
ich hoffe ich habe mich verständlich ausgedrückt
.... aber wie gesagt, einfacher wäre den Trenner nicht als / zu machen
Du kannst es dann für Rewrite auch als .html Datei aussehen lassen
localhost/seitenname/var1_var2.html
musst halt dann für den Variablen-String noch das .html abtrennen
... apropos, wenn Du Teile aus string entfernen willst, nimm besster str_replace als explode
$url = $_SERVER['REQUEST_URI']; $dir = basename(realpath('.')); $url = str_replace($dir,'', $url); $url = str_replace('.html','', $url); $vars = explode('_', $url);
-
in: Url Rewrite in .htaccess
geschrieben von girogratis
Du kannst ja den Pfad für die Stylesheed-Datei dynamisch machen
je nachdem ob URLmit / oder ohne ist
$url = $_SERVER['REQUEST_URI']; $laenge = strlen($url)-1; $erg = substr($url, $laenge ); if ($erg == "/") { $stylepath = '../'; // --- stylesheet Datei eine Ebene tiefer abholen } else { $stylepath = './'; }
und im Template diesen Pfad $stylepath im Stylesheed href einfügen
<link rel="stylesheet" type="text/css" href="<?php echo $stylepath; ?>styles/style.css" />
sorry, hardcoded :)
-
in: Url Rewrite in .htaccess
geschrieben von girogratis
danielderhacker schrieb:
eine Variable übergeben und die darf nicht mit einem "/" enden
Du kannst das / Zeichen am Ende raus filtern, bevor Du den Link ausgibst
$linkname = rtrim($linkname , '/');
dann ist das / Zeichen am Ende des Links weg
und die Variable musst Du auch übergeben, z.B. als $seite an die index.php
RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteRule (.*)$ /index.php?seite=$1 [L]
und warum kannst Du nur eine Variable übergeben? geht doch auch mehrere
hier BSP getrennt durch Unterstrich _ in der URL und zweiter Wert als $typ übergeben
RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)_(.*)$ /index.php?seite=$1&typ=$2 [L]
wenn weiter Probleme mit Stylesheed Pfad
dann einfach die komplette URL zur CSS-Datei nehmen, nicht ./ -
in: Unterschied von InnoDB und MyISAM bei MySQL ?
geschrieben von girogratis
Danke
also MyISAM ist schneller, und keine Ahnung was Transaktionen sind
also werde ich wohl meine Tabellen als MyISAM anlegen
Auzug aus der MySQL Dokumentation:
Mit MyISAM werden nicht-transaktionssichere Tabellen verwaltet. Dieser Tabellentyp kann Daten sehr schnell speichern und abrufen und bietet Volltext-Suchfähigkeiten
Mit InnoDB verfügt MySQL über eine transaktionssichere (ACID-konforme) Speicher-Engine mit Commit-, Rollback- und Datenwiederherstellungsfähigkeiten.
komisch nur, das mein DB-Hoster als Standard InnoDB hat
und auch wen ich alle Tabelen im MyISAM anlege, dann steht unter der Tabellen-Liste
in der Zusammenfassung-Zeile (3 Tabellen Gesamt) als Typ InnoDB
bei Operationen kann ich zwar die Kollation umstellen, nicht aber den Typ
also macht das evtl. was aus, wenn globaler Typ InnoDB ist, ich aber MyISAM Tabellen mache ?!
oder egal ?
und was sind Transaktionen ? ...
nur zum Verständnis, kann jemand ein Beispiel nennen, für was man sowas braucht
Danke
EDIT: Danke @ggamee für den Link mit Erklärung
-
in: Unterschied von InnoDB und MyISAM bei MySQL ?
geschrieben von girogratis
Hallo
was ist der Unterschied zwischen InnoDB und MyISAM bei MySQL Tabelle anlegen ?
Wenn ich eine Struktur für Kategorien und Artikel machen will,
welcher Typ ist dann der "bessere" ... was bringt welche Vorteile?
Welchen Typ sollte man wozu verwenden? ... Unterschiede? ... Empfehlung?
Danke