Zur Navigation

2 Unterseiten vorbeileiten

1 User 510 (Ex-Mitglied)

Meine Website wird in Kürze umgestellt bzw. relauncht (Domain siehe mein Profil).
Alle Unterseiten werden danach von Datenbanken gefüllt und gehen praktisch alle aus einer index.php hervor.
Jetzt möchte ich zwei bestehende Unterseiten hiervon ausschliessen, da sie eigenständig in Layout und Aufbau sind.
Es betrifft das Forum (www.domain.de/forum/) und die Stadtliga-Seite (www.domain.de/stadtliga.html).
Wie wäre eine "Vorbeileitung" an der zukünftigen (Haupt)index.php am elegantesten?

21.07.2009 15:28 | geändert: 21.07.2009 15:29

2 Jörg Kruse

Alle Unterseiten werden danach von Datenbanken gefüllt und gehen praktisch alle aus einer index.php hervor.

Was heißt das genau: dass per Modrewrite alle URLs auf die index.php rewritet werden? Wenn du den Inhalt der betreffenden .htaccess Datei postest, kann man zu den dortigen Rules vielleicht Ausnahmen definieren.

21.07.2009 18:20 | geändert: 21.07.2009 18:22

3 User 510 (Ex-Mitglied)

Das Ganze wird mit ZEND gemacht.
Aus der index.php gehen mithilfe der Datenbank die URLs hervor (über Controller und Scripts).

Beispiele:
www.domain.de (Startseite)
www.domain/katalog/branche1 (erzeugte Unterseite/URL)
www.domain/katalog/branche2 (erzeugte Unterseite/URL)
www.domain/katalog/branche3 (erzeugte Unterseite/URL)
www.domain/info/kontakt (erzeugte Unterseite/URL)
www.domain/info/impressum (erzeugte Unterseite/URL)

Ich hoffe, ich kann das einigermaßen erklären, da ich mich selber nicht wirklich damit auskenne.
Jetzt ist jede Unterseite noch eine feste html-Datei.
Die jetzigen Unterseiten werden dann später einzeln auf die neuen Unterseiten umgeleitet, das ist ja kein Problem.
Allerdings sollen die beiden angesprochenen Seiten bestehen bleiben und nicht über die neue index.php entstehen.
Kannst du mir folgen?

21.07.2009 18:48

4 Jörg Kruse

Du meinst das ZEND Framework?

Damit die Scripte über diese generierten URLs überhaupt aufgerufen werden können, müssen letztere rewritet werden. Bei einem normalen Webspace auf einem Apache Webserver geschieht das gewöhnlich in der .htaccess. Die Software wird also eine oder mehrere .htaccess Dateien enthalten, die diese Aufgabe übernehmen. Diese Dateien kann man dann entsprechend so anpassen, dass bestimmte URLs nicht rewritet werden.

21.07.2009 19:33 | geändert: 21.07.2009 19:34

5 User 510 (Ex-Mitglied)

Ja, Zend Framework. Hier ist der Inhalt der betreffenden .htaccess:

SetEnv APPLICATION_ENV development

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

21.07.2009 19:43

6 Jörg Kruse

Ja, die letzte Rule rewritet alle nicht vorhandenen Dateien / Verzeichnisse auf die index.php - davon wäre zumindest das Forum betroffen, weil die URLs dort auch rewritet werden.

Ich würde die Ausnahmen folgendermaßen definieren:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]

RewriteCond %{THE_REQUEST} !/stadtliga\.html
RewriteCond %{THE_REQUEST} !/forum/
RewriteRule ^.*$ index.php [NC,L]

Und abschließend testen, ob alles wie gewünscht funktioniert

21.07.2009 19:51

7 User 510 (Ex-Mitglied)

Danke dir vielmals Jörg. Am Donnerstag werde ich es testen können.
Melde mich dann, ob's geklappt hat. ;-)

21.07.2009 19:56

8 User 510 (Ex-Mitglied)

Zitat von stralsunder
Danke dir vielmals Jörg. Am Donnerstag werde ich es testen können.
Melde mich dann, ob's geklappt hat. ;-)

Wie bei Tipps von dir nicht anders zu erwarten, hat es so einwandfrei funktioniert. ;-) Danke nochmals.

22.07.2009 19:39

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]