/inc/test.php und /inc/test.html zu /test oder /test/

Wie wir alle wissen (sollten) ändert mod_rewrite keine Links im Script. Damit auch die Links auf Deiner Page auf die neuen "Rewrited URLs" zeigen bedarf es der Anpassung im Code. Fragen und Probleme rund um's Coding werden hier diskutiert.

Moderator: Super-Mod

Antworten
TheModRewriter
.
.
Beiträge: 16
Registriert: 14.07.2009 19:23

/inc/test.php und /inc/test.html zu /test oder /test/

Beitrag von TheModRewriter »

Hallo.
Ich habe leider keine Ahnung von ModRewrite, brauche also Eure Hilfe :-)

Habe einen Include-Ordner "includes" dort liegen meine ganzen Files (html und php) drinne.
Ich will bei einem Aufruf von /test oder /test/ (mit / am Ende) im Browser mit mod rewrite, falls test.php oder test.html im Ordner "includes" existiert, die Datei (entweder .php oder .html) aus dem Ordner "includes" zurückgeliefert bekommen;
Ansonsten soll ein "301 Moved Permanently Header" auf /404 geschickt werden.

Ist dies möglich? Wenn ja, wie?


Vielen Dank und viele Grüße, Jonathan.
Gumbo
Moderator
Moderator
Beiträge: 5019
Registriert: 07.01.2005 01:18
Wohnort: Trier

Beitrag von Gumbo »

Code: Alles auswählen

RewriteCond %{DOCUMENT_ROOT}/includes/$1.html .+
RewriteCond %0 -f [OR]
RewriteCond %{DOCUMENT_ROOT}/includes/$1.php .+
RewriteCond %0 -f
RewriteRule ^([^/]+)/?$ %0 [L]
Markus Wulftange
TheModRewriter
.
.
Beiträge: 16
Registriert: 14.07.2009 19:23

Beitrag von TheModRewriter »

Okay, vielen Dank :-)
Kannst Du mir vielleicht noch schnell einen 301 Moved Permanently Header einbauen, wenn die .php und die .html Datei in dem Verzeichnis nicht gefunden wurden?

EDIT:
Das "Script" funktioniert nicht. Habe in / die .htaccess hochgeladen, ein Verzeichnis includes erstellt und dort drinne test.html, dann /test im Browser aufgerufen, es wird aber ein 404 Error zurückgesendet.. :-(

Kannst Du nochmal kucken, ob alles richtig ist?
(Ich habe nur einen Webspace bei Strato, falls es daran liegt)
Gumbo
Moderator
Moderator
Beiträge: 5019
Registriert: 07.01.2005 01:18
Wohnort: Trier

Beitrag von Gumbo »

Ich halte eine Weiterleitung im Fehlfall für die falsche Wahl. Schließlich wurde die Ressource nicht gefunden und ist nicht einfach nur unter einer neuen URL verfügbar.
Markus Wulftange
TheModRewriter
.
.
Beiträge: 16
Registriert: 14.07.2009 19:23

Beitrag von TheModRewriter »

Hmm ok..

Kannst Du trotzdem noch einmal schauen, ob das Script von Dir korrekt ist, es funktioniert nämlich nicht.
Gumbo
Moderator
Moderator
Beiträge: 5019
Registriert: 07.01.2005 01:18
Wohnort: Trier

Beitrag von Gumbo »

Ich sehe leider keinen Grund, wieso es nicht funktionieren sollte. Du verwendest diese Regel doch in der .htaccess-Datei im Wurzelverzeichnis des Webserver, oder?
Markus Wulftange
TheModRewriter
.
.
Beiträge: 16
Registriert: 14.07.2009 19:23

Beitrag von TheModRewriter »

Kein Webserver, nen Webspace bei Strato. Die .htaccess befindet sich auf der höchsten Verzeichnisebene, auf die ich Zugriff habe.
TheModRewriter
.
.
Beiträge: 16
Registriert: 14.07.2009 19:23

Re: /inc/test.php und /inc/test.html zu /test oder /test/

Beitrag von TheModRewriter »

Hat sonst noch jemand 'ne Idee?
Antworten