.htaccess Frage

#1

Hallo Oxid-Gemeinde

Weil ich mit der Startseite Probleme habe und in nächster Zeit einen neuen Shop aufsetzen möche, habe ich zwischenzeitlich eine neue Startseite freihändig erstellt, alle Links angepasst, sie index1.php benannt und ins Stammverzeichnis geladen.

In die .htaccess habe ich eingetragen:

Blockquote
Options -Indexes
DirectoryIndex index1.php index.php index.html
Blockquote

Somit funktioniert alles, wie gewünscht, ausgenommen ich klicke von einer Unterseite auf ‚Home‘ dann lande ich wieder auf der alten unschönen Startseite. Ich bin mit den .htaccess-Tricks nicht bewandert, deshalb die Frage: Kann mir die .htaccess den Aufruf von einer Seite, beispielsweise shop → Startseite unlenken, dass die index1.php aktiviert wird?

Ich habe es auch mit einem Entrag auf der start.tpl versucht:

Blockquote

<?php header("Location: index1.php"); ?>

Blockquote

Das wurde aber ignoriert.
Kann mir jemand aus meiner Verlegenheit helfen?

#2

Ho!

ich speicher mir dafür immer eine “maintenance.php” auf dem Server ab und trage sowas das in die htaccess ein:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/(maintenance\.php)?$ [NC]
RewriteRule ^.*$ /maintenance.php [L,R=301]

Das würde einfach alles auf die PHP-Datei weiterleiten - Dieses Schnippsel ist ungetestet, aber dazu findest du sicher noch etwas auf Google :slight_smile:

#3

@Sloweb

Danke für die Antwort. Werde mich in dieser Richtung schlau machen. Hatte miir die Sache einfacher vorgestellt. So auf diese Art: <?php header("Location: index1.php"); ?>

#4

Nun der PHP-Befehl ist massiv umständlicher als die .htaccess, denn wo trägst du den ein und wie sagst du dem nächsten Menschen, dass und wo diese Weiterleitung existiert? Die meisten schauen erstmal in die .htaccess. Die ist für so etwas da.

Den Code in der .htaccess kannst du dann entsprechend mit einem # am Anfang der Zeile auskommentieren wenn du es nicht mehr brauchst. Du kannst statt maintenance auch index1 eintragen. Wichtig ist einfach, dass du niemals die PHP Dateien von Oxid anfassen solltest :slight_smile:

Ich denke dass hast du schnell raus. Wenn die Seite plötzlich weiß wird oder ein 500er Fehler auftaucht, hast du ein Fehler in der .htaccess. Nur zur Info - die machen einen wahnsinnig.

#5

Alles sehr seltsam. Ich habe es mit der .htaccess so gemacht wie beschrieben und die Links haben auch so funktioniert, wie sie sollten. Aber leider wurden keine Bilder gefunden. Daraufhin habe ich die .htaccess wieder zurückgesetzt.

Und seltsamerweise wurde ab diesen Zeitpunkt auch die index1 angesprochen, egal von wo ich die Startseite aufrufe, obwohl die .htaccess genau so aussieht, wie zu dem Zeitpunkt, als es nicht funktionierte.

Habe dann die tmp geleert und zum Glück ist der gewünschte Zustand geblieben. Für mich ist der Oxid shop eine black box. Ich kann mit php, css und html eine Seite schneller erstellen, als die Ursache einer falschen Anzeige im Oxid shop zu finden.

Vielen Dank für den Beistand. Auf jeden Fall funktioniert jetzt alles.

#6

Jo htaccess ist nicht ohne. Bilder / Assets müssen unter Umständen von der Weiterleitung ausgeschlossen werden, da diese sonst auch auf index1.php weitergeleitet werden. Chrome zum Beispiel cached die Header die in dieser Datei erzeugt werden auch ganz stark - nervt super.

Btw htaccess ist kein Oxid-Feature, sondern das liefert Apache mit sich.

Top dass es nun funktionier.