Zum Inhalt springen

index.php? Seitentitel statt ID

Erstellt am 26. Dezember 2004 · 24 Antworten · letzte Antwort am 19. September 2007 · Seite 1 von 2

Tags: Frage

jorgos ·

Hi Typos,

ist es möglich, statt der ID den Seitentitel (oder Subtitle) in die URL zu setzen? RealURL und ähnliches läuft bei mir leider nicht, und so wäre die URL wenigstens etwas "aussagekräftiger"...

Thx, Jörg

jweiland ·

RealURL und ähnliches läuft bei mir leider nicht

Warum nicht?

Der Weg führt über mod_rewrite von Apache und eine .htaccess Datei, der Dateiname wird dann über das Feld "alias" im Seitenheader festgelegt.

Wer sein Projekt auf Windows hosten muss, der muss in der httpd.conf von Apache einen anderen Dateinamen für .htaccess festlegen, da Windows keine Dateinamen mit einem Punkt am Anfang akzeptiert.

Dann noch simulateStaticDocuments einschalten und schon wird aus index.php?id=123 so etwas wie meineseite.html

Jochen Weiland

mstuebner ·
jorgos schrieb

RealURL und ähnliches läuft bei mir leider nicht.

Ähm, und WARUM nicht, da dies ja genau das ist was Du willst...

jorgos ·

RealURL mit der mitgelieferten .htaccess verursacht Error500 (nicht schwer zu erraten, auf welchem Hoster... 1&1 BPro 5.0 😉).

Ich versuche gerade, mit simulateStatic=PATH_INFO und 1&1 .htaccess das ganze zu erzeugen. Mit der .htaccess

RewriteEngine on

RewriteCond %{REQUEST_URI} index.php/(.*)$

RewriteRule /(.*)$ /index.php?id=$1

würde es fast funktionieren, wenn 1&1 aus dem "?" im Rewrite ein "%3f" machen würde, um dann natürlich das Dokument nicht zu finden -> index.php%3fid=1 gibt´s halt nicht 🙁 Na ja, morgen ist die Hotline wieder besetzt, X-Mas arbeiten wohl nur wir 😉

Frohes Fest,

Jörg

jweiland ·

Um simulateStatic bei 1&1 zu verwenden, genügt eine .htaccess Datei mit folgendem Inhalt:

RewriteEngine On
RewriteRule ^[^/]*.html$ /index.php

(Vorausgesetzt, die Domain zeigt direkt auf das entsprechende Startverzeichnis des Typo3 Projekts)

Jochen Weiland

jorgos ·

Da bekomme ich ein

Multiple Choices
The document name you requested (/index.php) could not be found on this server. However, we found documents with names similar to the one you requested.
Available documents: 

/index.html (common basename)

... schon besser als ein Error500, aber noch nicht ganz das gewünschte o.O Mein Typo3-Directory ist allerdings auch docroot/drzycimski.com/t3/, die Domain zeigt auf /drzycimski.com/. Habe die .htacess aber auch nur im /t3/ im Einsatz gehabt.
Muss ich da noch etwas einfügen?

jweiland ·

Ich hatte ja auch geschrieben

Vorausgesetzt, die Domain zeigt direkt auf das entsprechende Startverzeichnis des Typo3 Projekts

In deinem Fall muss die .htaccess so aussehen:

RewriteEngine On
RewriteBase /t3
RewriteRule ^[^/]*.html$ index.php

Achtung: kein / vor index.php!

Jochen Weiland

jorgos ·

Danke, Jochen, das war´s! *FREU* Jetzt bin ich endgültig Typo-Fan 😃

Wenn Du noch Zeit&Lust hast, warum kommt dann kein Slash vor die index.php?

Viele Grüsse aus Bremen,

Jörg

martina ·

jetzt hab ich sozusagen das selbe problem. ich bekomm das einfach nicht hin, immer diese 404-Fehler! 😢

in meiner "_.htaccess"-datei steht:

-------------------------------------------------
RewriteEngine On
RewriteBase /quickstart
RewriteRule ^[^/]*.html$ index.php
-------------------------------------------------

denn so wie ich das verstanden habe muss ich ja den pfad angeben, in welchem typo3 läuft ("/quickstart").

im httpd.conf habe ich die anpassung gemacht, dass die ".htaccess"-datei "_.htaccess" heissen soll. (kann die nicht nur ".htaccess" nennen, das akzeptiert xp nicht)

komisch ist, dass der link auf der verweisenden seite im format "http://typo3/quickstart/index.php%3fid=11" kommt. hat da jemand eine lösung? wäre total dankbar, habe schon das halbe netz durchsucht...

gruss
martina

webdeveloper ·

du musst aus der "_.htaccess" auf jeden fall eine ".htaccess" machen. sonst klappt das ganze nicht.

und nicht vergessen, dein startverzeichnis anzugeben!
( RewriteBase /quickstart )

martina ·

aber ich kann die "_.htaccess" ja nicht umbenennen, das "frisst" windows xp nicht... 😢

RewriteBase /quickstart hab ich ja bereits angegeben in dieser htaccess...

theo ·
martina schrieb

aber ich kann die "_.htaccess" ja nicht umbenennen, das "frisst" windows xp nicht... 😢

natürlich nicht, das is ja auch für linux gedacht.

martina ·

ja, aber eine htaccess brauch ich ja trotzdem. kann ich die einfach umbenennen (z.b. "myhtaccess") und dann im httpd.conf einfach reinschreiben dass die htaccess jetzt "myhtaccess" heisst?

oder was würdet ihr machen? hat niemand windows von euch? 🙁

jorgos ·

Ich weiss nicht, ob mod_rewrite überhaupt unter XP läuft, aber wenn´s nur darum geht, den _ zu entfernen, kannst Du das mit Deinem HTML-Editor machen. Mein Homesite lässt das zu.

Aber XP deutet auch darauf hin, dass Du eine lokale Installation hast, Du kannst statt mod_rewrite auch die httpd.conf von Apache ändern.

Gruss, Jörg

martina ·

genau, momentan ist das ganze noch lokal.

ok, ich versuchs nochmals, die htaccess zu ändern, aber ich glaube nicht dass windows das frisst...

ich habe die httpd.conf bereits geändert, hab gesagt dass die htaccess "_.htaccess" heisst. dann sollte der das doch kapieren? 🙁

jorgos ·

Bin schon glücklich, dass ich die Minimaleinstellungen von Apache ändern kann, ohne das der Server abraucht 😉 Weiss also nicht, ob´s klappen wird. Ich dachte auch mehr an eine Änderung der Rewrite-Funktionen in der conf, nicht Änderung des Namens darin.

Aber keine Bange, sobald Du es ins Netz auf einen Linux-Server legst, wird es laufen, also nicht verzweifeln, wenn XP nicht so will...

mstuebner ·
martina schrieb

ich habe die httpd.conf bereits geändert, hab gesagt dass die htaccess "_.htaccess" heisst. dann sollte der das doch kapieren? 🙁

Ja.