Zum Inhalt springen

Simulate Static funktioniert nicht richtig

Erstellt am 5. März 2003 · 7 Antworten · letzte Antwort am 14. Juli 2003

Tags: URLs & Routing, Frage

Shinji ·

Hallo !

Ich wollte einmal die "Simulate static" Funktion ausprobieren und bin dabei folgendermaßen vorgegangen:

1) In der Konfiguration
+ Checkbox bei [simulateStaticDocuments] gesetzt

2) Die _.htaccess in .htaccess umbenannt.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule   ^typo3$  typo3/index_re.php
RewriteRule   ^[^/]*.html$  index.php

3) In der httpd.conf das Modul mod_rewrite aktiviert.

4) Für das TYPO3 Verzeichnis ein "AllowOverride All" gesetzt.

5) Im Template die Zeile config.simulateStaticDocuments_addTitle = 30 eingefügt.

6) Alle Caches gelöscht

So. jetzt zeigt mit TYPO3 die URLs in der Form

http://frodo.lan.fli4l/typo3-c/Links.3.0.html

an. Leider funktioniert das Menü jetzt nicht mehr, es klappt nicht mehr aus und der Content wird auch nicht mehr angezeigt. Denn obwohl ich auf der Links-Startseite einen Text einegfügt habe ist die Seite leer. Nur dann, wenn ich aus dem Backend mir die Seite direkt anzeigen lasse ist der Content vorhanden und das Menü ausgeklappt!

Was mache ich da bloß falsch?

Ich benutze Typo3 3.5.0 unter WindowsXP mit Apache1.3.27 und PHP 4.2.3

Gruß
Thorsten

Hallopress ·

Das selbe Probelm habe ich auch. Hat keiner eine Lösung?
Hilft event. im Typo3-Ordner dir rewrite engine wieder ausschalten?

Shinji ·

Hallo !

Seltsam ist ja das es unter Linux so enwandfrei funktioniert.
Hast du das Problem lokal oder auch auf einem richtigen Server im Internet?

Gruß
Thorsten

Shinji ·

Also meine .htaccess sieht jetzt so aus:

RewriteEngine On
RewriteBase /typo3
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule   ^typo3$  typo3/index_re.php
RewriteRule   ^[^/]*.html$  index.php

Und im Setup des templates:

// Optionen für Simulate Static Documents festlegen
config.simulateStaticDocuments = 1
config.simulateStaticDocuments_pEnc = md5 
config.simulateStaticDocuments_pEnc = base64
config.simulateStaticDocuments_addTitle = 20
//config.simulateStaticDocuments_noTypeIfNoTitle = 0

Thorsten

theusser ·

ich habe nun einige Varianten von rewrite probiert, wie sie hier und unter typo3.jweiland.org beschrieben sind, aber ich scheitere immer an demselben Ort:

Ich glaube, in Typo3 geht jeweils alles gut, d.h. alle Links habe ich - je nach Variante - in der richtigen form, d.h. entweder server.ch/10.0.html oder server.ch/index.php/10/0/ oder server.ch/Links.10.0.html.

Aber in allen Varianten scheint es (vermutlich) mit dem .htacces nicht zu klappen, den nich bekomme immer die Fehlermeldung:

The requested URL /Login.8.0.html was not found on this server.
Apache/2.0.45 (Unix) mod_perl/1.99_08 Perl/v5.6.1 PHP/4.3.1 Server at server.ch Port 80

Meine .htaccess sieht im moment folgendermassen aus:

RewriteEngine On
RewriteBase /typo3
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^typo3$ typo3/index_re.php
RewriteRule ^[^/]*.html$ index.php

Meine Struktur auf der Festplatte
/usr/local/typo3/htdocs/server1
/usr/local/typo3/htdocs/server2

Meine Fragen:
1) wie finde ich raus, ob .htaccess überhaupt aufgerufen wird (Sie liegt bei mir im "root" dh. im obigen Beispiel in server1)

2) durch was muss in htaccess typo3 ersetzt werden? (ich habe es 3mal durch server1 im Verzeichnis server1 ersetzt)

3) was ist index_re.php für eine Datei, muss ich diese erstellen, ist das etwas temporäres?

In den verschiedenen Beschreibungen zu rewrite habe ich einige sachen gefunden, welche unterschiedlich sind

4) einmal ist in httpd.conf ein AddModule erwähnt, das gibt es bei mir nicht, sondern es gibt nur LoadModule. Ist das so richtig?

5) in einigen Varianten fehlt RewriteBase und RewriteCond und die erste Linie von RewriteRule (diejenige mit index_re.php. Was haben diese Einträge an sich, wann braucht es welche?

Für sämtliche Informationen bin ich gerne empfänglich ....

Thomas

Shinji ·

Hallo !

1)
Ist der Server ein Windowsserver?
Ja? Dann versuche es einmal mit: http://www.o4w.de/typo3faq/index.php?sid=11847&aktion=artikel&rubrik=006&id=25&lang=de
(Bei dir ist es Linux sehe ich gerade)

2) Das Feld RewriteBase.
Wenn deine TYPO3 Installation NICHT im root-Verzeichnis der Domain/des Servers liegt musst du hier den Pfad relativ zum Root-Verzeichnis deiner Seite angeben.

Liegt die Seite z.B. unter

/home/httpd/htdocs/

gibst du "RewriteBase /" an. Liegt die Installation aber im Unterverzeichnis test oder hast du ein Alias-Verzeichnis test angelegt gibst du an: "RewriteBase /test".
Wenn bei dir server1 und server2 das jeweilige Rootverzeichnis ist reicht ein "RewriteBase /" aus.
Die Angabe ist wohl nur nötig wenn du die Seite z.B. so aufrufst:

http://mein.server.de/test/

3) Die index_re.php existiert schon im typo3/ Verzeichnis. Die musst du nicht anlegen. Die Datei leitet die Besucher nur richtig um. Auszug aus der Datei:

// Meant to solve the trailing slash problem with Apache:
// Make a mod_rewrite rule like this:
//              RewriteRule   ^typo3$  typo3/index_re.php
// ... and this document will redirect to the right script.

4) Die Rechte für das Verzeichnis müssen in der httpd.conf richtig gesetzt sein. Also auf "AllowOverride All".

Müsste dann funktionieren.

Gruß
Thorsten