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: RealURL, URLs & Routing, Frage

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.

mstuebner ·
martina schrieb

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

Doch als Arbeitsstation. Wer einen Webserver (auch noch mit Apache) mit Windows betreibt hat meiner Meinung nach einfach zuwenig sonstige Herausforderungen. :-)

Nimm Dir irgendeinen alten PC und installier eine Suse drauf und schon hast Du solche Probleme nicht mehr und zudem den Vorteil, dass Du Beispiele aud den meisten Büchern/Doks direkt nachvollziehen kannst.

Ist aber meine persönliche Meinung und kein Muss.

typofritze ·

Umbenennen kann man doch leicht über die DOS-Eingabeaufforderung:

Einfach ins entsprechende Verzeichnis wechseln und folgendes eingeben:

ren _.htaccess .htaccess

Viele Grüsse,
Andreas

martina ·

endlich!!!!!!!!!! #giggle#

ich habe das problem gefunden: hatte mod_rewrite nicht richtig "geladen"!!!! also an alle, denen das gleiche passiert:

mod_rewrite laden
Öffnen Sie nun die Apache-Konfigurationsdatei httpd.conf und aktivieren Sie die folgenden Zeilen, indem Sie die führenden Rauten entfernen (möglicherweise, je nach Ihrer Konfiguration, müssen Sie die Zeilen auch hinzufügen bzw. modifizieren):

#LoadModule rewrite_module modules/mod_rewrite.so
#AddModule mod_rewrite.c

gruss
martina

Greekangel ·

Hallo

bin sowohl in diesem Forum wie auch bei typo3 neu. Nach erfogreicher Installation(mit hilfe des Providers) und erstellen von seite einbindung von template (das mit css haut noch nicht hin aber das gehört wo anders hin) wollte ich diese Zeile www......index... wegbekommen. Ich RealURL installiert, geht nicht( oder was wahrscheinlicher ist, ich habe was vergessen) Bekomme folgende Fehlermeldung.
---------------------------------------------------------------
Warning: Cannot modify header information - headers already sent by (output started at /home/www/kunden/it-hilfe-sp.de/typo3conf/ext/n_mcmenu/class.ux_tslib_tmenu.php:71) in /home/www/kunden/it-hilfe-sp.de/typo3_src/typo3/sysext/cms/tslib/class.tslib_fe.php on line 2402
----------------------------------------------------------------
Könnte mir jemand genau beschreiben wie ich vorgehen muss, so als wäre ich ein 3 jähriger blonder Junge? Danke für die Mühe.

Gruss Greekangel

Stesch ·

Hallo zusammen,
auch wenn der Thread schon sehr alt ist, hat er mich zur Lösung meines Problems bei 1&1 geführt.
Ich habe bei 1&1 eine Typo3-Installation (4.1.2.) aufgesetzt und wollte mit realurl 1.4.0. arbeiten. Wenn man die Standardvorgehensweise (funktioniert bei Netbeat, hosteurope, etc.) verwendet hatten die Links alle die Form

www.domain.tld/cms/?id=5 bzw. www.domain.tld/cms/?id=home bei Angabe eines Alias

Natürlich nicht schön!

Folgende ext_localconf.php von realurl erzeugte dann zwar die gewohnten Seitennamen und löste auch die Unterverzeichnisse sauber auf, aber die Seiten wurden dann nicht mehr gefunden.

<?php
$TYPO3_CONF_VARS['SC_OPTIONS'] ['t3lib/class.t3lib_tstemplate.php'] ['linkData-PostProc'] []
= 'EXT:realurl/class.tx_realurl.php:&tx_realurl->encodeSpURL';
$TYPO3_CONF_VARS['SC_OPTIONS'] ['tslib/class.tslib_fe.php'] ['checkAlternativeIdMethods-PostProc'] []
= 'EXT:realurl/class.tx_realurl.php:&tx_realurl->decodeSpURL';
$TYPO3_CONF_VARS['SC_OPTIONS'] ['t3lib/class.t3lib_tcemain.php'] ['clearAllCache_additionalTables'] ['tx_realurl_urldecodecache']
= 'tx_realurl_urldecodecache';
$TYPO3_CONF_VARS['SC_OPTIONS'] ['t3lib/class.t3lib_tcemain.php'] ['clearAllCache_additionalTables'] ['tx_realurl_urlencodecache']
= 'tx_realurl_urlencodecache';
$TYPO3_CONF_VARS['FE'] ['addRootLineFields'] .=
',tx_realurl_pathsegment,alias,nav_title,title';
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['_DEFAULT'] = array(
'init' => array(
'enableCHashCache' => 1,
'enableUrlDecodeCache' => 1,
'enableUrlEncodeHash' => 1,
// 'postVarSet_failureMode' => 'redirect_goodUpperDir',
),
'rewrite' => array(
),
'preVars' => array(
/*
array(
'GETvar' => 'L',
'valueMap' => array(
'de' => '0',
'en' => '1',
),
'valueDefault' => 'de',
),
*/
),
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'expireDays' => 3,
'rootpage_id' => '1'
),
'fileName' => array (
'defaultToHTMLsuffixOnPrev' => 1,
'index' => array(
'page.html' => array(
'keyValues' => array (
'type' => 1,
),
),
),
),
'fixedPostVarSets' => array(
),
'postVarSets' => array(
'_DEFAULT' => array(
//archive
'period' => array (
array (
'condPrevValue' => -1,
'GETvar' => 'tx_ttnews[pS]',
//'valueMap => array()
),
array (
'GETvar' => 'tx_ttnews[pL]',
//'valueMap => array()
),

array (
'GETvar' => 'tx_ttnews[arc]',
'valueMap' => array(
'non-archived' => -1,
),
),
),

'browse' => array (
array (
'GETvar' => 'tx_ttnews[pointer]',
),
),
'select' => array (
array (
'GETvar' => 'tx_ttnews[cat]',
'lookUpTable' => array (
'table' => 'tt_news_cat',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause'=> 'AND NOT deleted',
'useUniqueCache'=> 1,
'useUniqueCache_conf' => array (
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
'article' => array( 
array (
'GETvar' => 'tx_ttnews[backPid]',
// 'valueMap => array(
// ),
),
array (
'GETvar' => 'tx_ttnews[tt_news]',
'lookUpTable' => array (
'table' => 'tt_news',
'id_field' => 'uid',
'alias_field' => 'title',
'maxLength' => 12,
'addWhereClause'=> 'AND NOT deleted',
'useUniqueCache'=> 1,
'useUniqueCache_conf' => array (
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
),
), 
);
?>

Abhilfe schafft hier folgende .htaccess:

RewriteEngine On 
RewriteBase /cms
RewriteRule ^TYPO3$ - [L] 
RewriteRule ^TYPO3/.*$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule .* index.php

Der Durchbruch war hier also die "RewriteBase"-Directive mit Angabe des Typo3-Verzeichnisses.

Möge der nächste schneller finden als ich :-)