Hilfe - Suche - Mitglieder - Kalender
Vollansicht: mod_rewrite Problem... Es wird nur die erste Seite angezeigt
Forum Sefrengo.org > Allgemeine Foren > Anwenderforum
macpat
Hi zusammen!

Ich habe in Sefrengo auf mod_rewirte "2" umgestellt und am Server sind alle mod_rewrite Dinge lt. Provider aktiviert.
Das mod_rewrite scheint auch irgendwie zu funktionieren, leider nur bei der ersten Seite.

Habe jetzt die Standard htaccess.txt in .htaccess umbenannt und in das Projektverzeichnis geladen und jetzt kommt der Fehler
500.

Was kann ich tun...? Hab auch schon versucht die .htaccess zu modifizieren, funktioniert leider auch nicht.

Options +FollowSymLinks
RewriteEngine On

#
# Sefrengo numeric rewrite
#

#cats
RewriteRule ^cat([0-9][0-9]*)-([1-9][0-9]?)\.html(&.*)? index.php?lang=$2&idcat=$1&$3 [QSA,L]
RewriteRule ^cat([1-9][0-9]*)\.html(&.*)? index.php?idcat=$1&$2 [QSA,L]
#pages
RewriteRule ^page([1-9][0-9]*)-([1-9][0-9]?)\.html(&.*)? index.php?lang=$2&idcatside=$1$3 [QSA,L]
RewriteRule ^page([1-9][0-9]*)\.html(&.*)? index.php?idcatside=$1$2 [QSA,L]
macpat
Ich bin für eine Hilfe sehr dankbar! Hab mir schon die Threads die das Thema betreffen durchgelesen, aber nicht wirklich was gefunden.
macpat
Danke für deine Antwort. Das mit google.de funktioniert einwandfrei.
Also der Server ist, so denk ich, richtig konfiguriert.


ZITAT(saschapi @ Tue. 27. April 2010, 12:03) *

amk
hast du's schon mal mit nem "RewriteBase /" in der htaccess probiert!?
Taturo
Je nach Provider kann es auch sein, dass du vor index.php einen / einfügen musst. Bei 1&1 sieht die htaccess z.B. so aus
QUELLTEXT
Options +FollowSymLinks
RewriteEngine On




#
# ERROR DOCUMENTS - define their if you want
#

# ErrorDocument 404 /my-error-page.html
# ErrorDocument 401 /my-error-page.html
# ErrorDocument 403 /my-error-page.html
# ErrorDocument 500 /my-error-page.html
# ErrorDocument 400 /my-error-page.html


#
# Sefrengo numeric rewrite
#

#cats
RewriteRule ^cat([0-9][0-9]*)-([1-9][0-9]?)\.html(&.*)? /index.php?lang=$2&idcat=$1&$3 [QSA,L]
RewriteRule ^cat([1-9][0-9]*)\.html(&.*)? /index.php?idcat=$1&$2 [QSA,L]
#pages
RewriteRule ^page([1-9][0-9]*)-([1-9][0-9]?)\.html(&.*)? /index.php?lang=$2&idcatside=$1$3 [QSA,L]
RewriteRule ^page([1-9][0-9]*)\.html(&.*)? /index.php?idcatside=$1$2 [QSA,L]


#
# Sefrengo 'spoken url support' rewrite
#

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?sf_rewrite=$1 [L,QSA]



Für mod_rewrite 2 brauchst du vor allem diesen Teil, der fehlt bei dir (zumindest in deinem Beitrag)

QUELLTEXT
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?sf_rewrite=$1 [L,QSA]



Gruss,
Andreas
amk
anmerkung: für mod_rewrite 2 braucht er nur diesen teil ... und natürlich die ersten 2 zeilen.

macpat
Also, vielen Dank erst mal für eure Antworten.
Ganz funktioniert es jedoch nicht.

Meine .htaccess Datei im Projektordner beinhaltet folgendes:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?sf_rewrite=$1 [L,QSA]

Im Sefrengo steht mod_rewrite auf 2.

Jetzt krieg ich aber den Fehler Error 500 wenn ich das Projektverzeichnis aufrufe.

An was könnte das liegen.
Taturo
Hast du es mal mit dem / vor index.php ausprobiert?
macpat
ZITAT(Taturo @ Wed. 28. April 2010, 09:46) *
Hast du es mal mit dem / vor index.php ausprobiert?


Meine .htaccess sieht jetzt so aus:
Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?sf_rewrite=$1 [L,QSA]

also mit dem Schrägstrich. Kriege trotzdem den Error 500
Taturo
Lösch mal den Cache und wähl danach "Gesprochene URLs neu generieren" aus. Danach nochmal mit beiden Versionen der htacess ausprobieren. Wenn das nix bringt die Orginal htaccess Datei hochspielen und mod_rewrite 1 einschalten.

Und berichten.
macpat
ZITAT(Taturo @ Wed. 28. April 2010, 10:18) *
Lösch mal den Cache und wähl danach "Gesprochene URLs neu generieren" aus. Danach nochmal mit beiden Versionen der htacess ausprobieren. Wenn das nix bringt die Orginal htaccess Datei hochspielen und mod_rewrite 1 einschalten.

Und berichten.


Danke für die Info, das versuch ich. Nur wo kann ich "Gesprochene URLs neu generieren" wählen?
Taturo
in der Seitenübersich, da wo auch der cache gelöscht wird
paulinsche
… und wie AMK schon geschrieben hat, hast du
QUELLTEXT
RewriteBase /
in die .htaccess eingefügt?

Meine .htaccess sieht so aus:
QUELLTEXT
Options +FollowSymLinks
RewriteEngine On

#
# ERROR DOCUMENTS - define their if you want
#

# ErrorDocument 404 /my-error-page.html
# ErrorDocument 401 /my-error-page.html
# ErrorDocument 403 /my-error-page.html
# ErrorDocument 500 /my-error-page.html
# ErrorDocument 400 /my-error-page.html


# Anpassung für 1&1-Server
RewriteBase /


# Slash am Schluss erzwingen
RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]


# www erzwingen
RewriteCond %{HTTP_HOST} ^domain\.de$ [NC]
RewriteRule ^(.*) http://www.domain.de%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^domain\.de$ [NC]
RewriteRule ^(.*) http://www.domain.de/ [L,R=301]


#
# Sefrengo 'spoken url support' rewrite
#

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?sf_rewrite=$1 [L,QSA]
und beinhaltet zudem, dass an alle Ordner ein Slash angefügt wird und generell auf www. umgeleitet wird.

Es gibt allerdings Server, wo das ein oder andere nicht funktioniert. Auf meinem Hauptserver läuft das aber einwandfrei.
macpat
Danke aber ich krieg trotz der RewriteBase den 500er Fehler
macpat
Eine grundlegende Frage. Muss die .htaccess ins Hauptverzeichnis oder ins Projektverzeichnis? Bei mir liegt die Datei mit dem Namen .htaccess im Projektverzeichnis
macpat
Bei mir steht auch in der Seitenübersicht beim Cache löschen nur der 2. Punkte neuen Ordner anlegen.
EDIT: Ach der ist ja nur wenn man 2 aktiviert.

Ohne .htaccess im Projektverzeichnis krieg ich die URL korrekt raus nur halt Fehler 404

Ich checks echt nicht
amk
wenn du mit dem projektverzeichnis arbeitest - also deine website per www.domain.ltd/projekt01/ aufgerufen wird, versuch vlt. mal

RewriteBase /projekt01/

nur so 'ne idee ...

p.s.: .htaccess im projektverzeichnis
macpat
Danke für eure Antworten! Hab jetzt alles versucht. Es will einfach nicht. Ohne der .htaccess werden die Urls richtig generiert...
Nur die Seiten werden eben nicht gefunden (Fehler 404) sobald ich irgendeine Variante der .htaccess ins Projektverzeichnis lade,
kommt der Fehler 500. Ich verstehs nicht...
Taturo
Hallo,
wie ist denn dein Test mit Apache mod_rewrite Support = 1 ausgefallen? Hat das funktioniert?

Was steht unter Administration/Projekte als "Basepath bei UrlRewrite=2" ?

Gruss, Andreas
Tascha
Manche WebHoster benötigen die Angabe der RewriteBase Direktive, da diese nicht in der Webserverkonfiguration angegeben wurde.
Lösung

In der .htaccess Datei muss folgendes hinzugefügt werden:
RewriteBase /

Wenn Sefrengo in einem Unterverzeichnis installiert ist, muss evtl. noch der Pfad angepasst werden.

Hatte das Problem bis eben auch. Der / vor index.php war nicht nötig. Hab nur die .htaccess verändert, im BE das Apache mod_rewrite Support auf 2 gesetzt, gesprochene Urls neu generiert und evìla es funzt.

Greetz Natascha





Probieren geht bekanntlich über studieren wink.gif
macpat
Mod_Rewrite 1 hat ebenfalls nicht funktioniert.

Als Pfad zum Frontend steht beim Projekt /var/www/web94/html/2010/
als HTML-Pfad zum Frontend steht http://domain.com/2010/
Name der Frontenddatei ist index.php

macpat
ZITAT(Tascha @ Thu. 29. April 2010, 17:46) *
Manche WebHoster benötigen die Angabe der RewriteBase Direktive, da diese nicht in der Webserverkonfiguration angegeben wurde.
Lösung

In der .htaccess Datei muss folgendes hinzugefügt werden:
RewriteBase /

Wenn Sefrengo in einem Unterverzeichnis installiert ist, muss evtl. noch der Pfad angepasst werden.

Hatte das Problem bis eben auch. Der / vor index.php war nicht nötig. Hab nur die .htaccess verändert, im BE das Apache mod_rewrite Support auf 2 gesetzt, gesprochene Urls neu generiert und evìla es funzt.

Greetz Natascha





Probieren geht bekanntlich über studieren wink.gif


Danke für deine Antwort...
Krieg trotzdem den Fehler 500...

Hab jetzt alles versucht:

1.
CODE
Options +FollowSymLinks
RewriteEngine On

RewriteBase /

#
# Sefrengo 'spoken url support' rewrite
#

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /2010/index.php?sf_rewrite=$1 [L,QSA]


2.
CODE
Options +FollowSymLinks
RewriteEngine On

RewriteBase /2010/

#
# Sefrengo 'spoken url support' rewrite
#

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /2010/index.php?sf_rewrite=$1 [L,QSA]


3.
CODE
Options +FollowSymLinks
RewriteEngine On

RewriteBase /

#
# Sefrengo 'spoken url support' rewrite
#

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?sf_rewrite=$1 [L,QSA]


Und noch 10 andere Varianten.
Es nervt mich echt schon. Warum funktioniert das nicht... Ich dank euch für eure Antworten...
Taturo
wenn du magst kannst du mir mal die Zugangsdaten per PM schicken, dann schau ich mir das mal an. Adminzugang zum Backend und ftp.

Gruss, Andreas
Taturo
Hallo,

Der Provider lässt Options +FollowSymLinks nicht zu. Ich habe die Zeile auskommentiert. Jetzt klappt es.

Viele Grüsse,
Andreas
Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2024 Invision Power Services, Inc.