Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
04.10.2010, 13:16
chriss



Also, folgendes Problem:

Wir haben ein TYPO3 auf dem Server laufen, die dynamischen Adressen werden per Extension (realurl) und .htaccess Datei korrigiert.

Nun gibt’s aber noch diverse Baustellen, die man eigentlich beheben müsste:

1. Auch die dynamischen Links, wie z.B.: index.php?id=7 sind nach wie vor erreichbar. Sie werden zwar innerhalb des Projekts nicht verlinkt, aber ich bin mir nicht sicher ob Google das nicht trotzdem doof findet.
2. Die Startseite ist sowohl per www.domain.de/ als auch via www.domain.de/index.php und auch noch über www.domain.de/startseite.html wünschenswert wäre hier nur www.domain.de/

Code der .htaccess Datei
Quellcode:## TYPO3 eigener Kram
RewriteEngine On
RewriteBase /

RewriteRule ^(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/ - [L]
RewriteRule ^typo3$ typo3/index_re.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* /index.php [L]

## Verhindern das die Domain ohne www. aufgerufen werden kann.
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301]

## Gescheiterter Versuch die Startseite anzupassen, ist eigentlich nur Müll, ich lass es aber der Vollständigkeit mal drin.
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /startseite.html\ HTTP/
RewriteRule ^startseite.html$ http://www.domain.de/ [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index.php\ HTTP/
RewriteRule ^index.php$ http://www.domain.de/ [R=301,L]
Ideen, Vorschläge? Das ganze ist ja offensichtlich ein mod_rewrite Problem, da ich selbst aber relativ wenig Ahnung davon habe, stoße ich da leider an meine Grenzen.

--

zum Seitenanfang zum Seitenende Profil || Suche
001
04.10.2010, 21:12
default



http://httpd.apache.org/docs/2.3/mod/mod_rewrite.html

Quellcode:RewriteRule ^startseite.html$ http://www.domain.de/ [R=permanent,L]
RewriteRule ^index.php$ http://www.domain.de/ [R=permanent,L]

--

Du musst Deine Bandbreite verbreitern, damit du breiter wirst von der Bandbreite her und ein breiteres Publikum ansprechen kannst.


Dieser Beitrag wurde am 04.10.2010 um 21:15 von default bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
05.10.2010, 12:30
chriss



Bringt leider nichts, das sind ja auch fast die Regeln die ich auch schon drin hatte, nur halt mit der vorhergehenden RewriteCond.

Schmeiße ich alles raus, außer den beiden neuen Regeln geht leider gar nichts mehr.

Ich schätze mal, dass er ja die index.php?id=123 auseinander nehmen muss um die richtige „Datei“ aufzurufen. Wenn ich nur die Regel der „startseite.html“ einbinde funktioniert die Weiterleitung auch nicht.

--

zum Seitenanfang zum Seitenende Profil || Suche
003
06.10.2010, 00:04
default



Dir ist klar was eine vorherige RewriteCond bewirkt?

a != b
a && b != a

Wenn du alles rausschmeisst, ausser den beiden neuen fehlt ua auch das

Quellcode:RewriteEngine On
RewriteBase /
was notwendig ist.

--

Du musst Deine Bandbreite verbreitern, damit du breiter wirst von der Bandbreite her und ein breiteres Publikum ansprechen kannst.

zum Seitenanfang zum Seitenende Profil || Suche
004
06.10.2010, 12:18
chriss



Ich meinte nur die anderen Regeln rausschmeißen, nicht alles was in der .htaccess steht. Sorry!

Aktuell steht jetzt das hier in der Datei:
Quellcode:RewriteEngine On
RewriteBase /

RewriteRule ^(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/ - [L]
RewriteRule ^typo3$ typo3/index_re.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* /index.php [L]

RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301]

RewriteRule ^startseite.html$ http://www.villa-cape-coral4u.com/ [R=permanent,L]
RewriteRule ^index.php$ http://www.villa-cape-coral4u.com/ [R=permanent,L]
Ohne die letzte Regel funktioniert alles, soweit schon mal Danke. Edit: Kommando zurück, es funktioniert nicht.

Das Problem ist jetzt nur nach wie vor, dass das TYPO3 nun keine Seite mehr ansteuert und alle Anfragen auf die www.domain.de/ leitet. Also auch www.domain.de/kontakt.html

Das liegt an der letzten Regel, das pfuscht dem TYPO3 bzw. den vorherigen Regeln irgendwie dazwischen. Mein Problem ist jetzt das ich schlicht nicht verstanden habe was in dem Block vorgeht. Und wie das TYPO3 hinterher mit den Daten die’s bekommt umgeht.

--


Dieser Beitrag wurde am 06.10.2010 um 12:28 von chriss bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
005
06.10.2010, 16:41
default



Wäre evtl ganz hilfreich wenn du mal ansagen könntest was du genau machen willst
der obere block ist t3 kram, was es nicht gibt, geht auf index.php
das ist c&p aus dem t3 wiki, ohne den scheiss zu lesen:
In .htaccess (instead of httpd.conf) you'll have to use "index.php" without the leading slash!
http://wiki.typo3.org/wiki/Realurl/testing#mod_rewrite_rules

Zweite block soll immer checken dass der kram über die fqd abgerufen wird?

RewriteCond %{HTTP_HOST} !^www.villa-cape-coral4u.com$ [NC]
RewriteRule ^(.*) http://www.villa-cape-coral4u.com/$1 [R=301]

startseite.html maskieren und auf / redirecten
RewriteRule ^startseite.html$ http://www.villa-cape-coral4u.com/ [R=permanent,L]

index.php maskieren und auf / redirecten?
steht etwas im wiederspruch zu den t3 regeln, ich glaube nicht, dass das bei t3 legitim ist
den index.php rewrite würd ich btw lassen, wenn du drauf verlinkst, sollte es das auch ohne redir geben.

wäre btw sinnvoll mal zu gucken wie der scheiss redirected wird, kommt man etwas vom raten weg.
wget sagt sowas an.

--

Du musst Deine Bandbreite verbreitern, damit du breiter wirst von der Bandbreite her und ein breiteres Publikum ansprechen kannst.

zum Seitenanfang zum Seitenende Profil || Suche
006
08.10.2010, 00:41
Chronial



Du kannst den direkten Zugang auf die index.php einfach sperren (ohne die seite zu zerschießen ^^), indem du die Regel von ganz unten nach ganz oben verschiebst.

Und was die domain angeht würde ich das hier empfehlen:
RewriteCond %{HTTP_HOST} !^www\.villa-cape-coral4u\.com$ [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*)$ http://www.villa-cape-coral4u.com/$1 [R=permanent,L]

--

"tsuji-giri" (japanisch) - ein neues Schwert an einem Passanten ausprobieren

zum Seitenanfang zum Seitenende Profil || Suche
007
08.10.2010, 13:30
chriss



Danke euch beiden, der Tipp mit dem nach oben stellen hat schon das große Problem gelöst … manchmal sieht man den Baum vor lauter Bäumen nicht, oder so.

Ich hab’ jetzt die Anweisung das die startseite.html weitergeleitet werden soll ganz oben und damit geht’s. Allerdings zerschießt es mir nach wie vor die Links wenn ich die index.php ebenfalls nach oben setze. Aber ich denke das werde ich mit dem guten rel="canonical" und etwas TypoScript irgendwie hinkriegen.

Chronial, warum ist das zu empfehlen? Was macht das besser?

Edit: Anderes Problem, mit dem Block:
Quellcode:RewriteCond %{HTTP_HOST} !^www\.villa-cape-coral4u\.com$ [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*)$ http://www.villa-cape-coral4u.com/$1 [R=permanent,L]
Ich hätte gerne das aus http://domain.de/kontakt.html einfach http://www.domain.de/kontakt.html wird. Also alles nach dem Slash soll beibehalten werden. Die bisherigen Lösungsansätze blieben erfolglos und Google spuckt auch nur meine Variante aus …

--


Dieser Beitrag wurde am 08.10.2010 um 13:37 von chriss bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
008
08.10.2010, 14:30
Chronial



Also meine Variante ist direkt aus meiner .htaccess kopiert, die auf meinem Server liegt, und den Effekt kannst du hier begutachten:
http://visiondesigns.de/vd_bluesky_preview.jpg

Zitat:
Allerdings zerschießt es mir nach wie vor die Links wenn ich die index.php ebenfalls nach oben setze.
Was heißt "zerschießt die Links"?

Warum das besser ist? Nunja, weil es so funktionieren sollte, anders aber nicht :)

Lies dir am besten mal durch, wie mod rewrite funktioniert (steht in der Apache Doku). An sich geht das so: Der läuft diese Regeln einfach eine nach der anderen ab, und jedes mal wenn eine auf die momentane URL matcht, wird die URL entsprechend verändert. Diese veränderte URL ist auch die URL, auf die die nächsten Regeln angewandt werden. Das geht so lange, bis eine Regel matcht, die [L] hat, oder bis die Liste durch ist. Nun willst ja folgende Dinge:
* Deine Regel soll auf jeden Fall angewendet werden
* Deine Regel soll auf jeden Fall an der vom User eingegebenen Url arbeiten

Dementsprechend müssen deine Regeln ganz nach oben :)

PS: Du musst dringend an deinen Fehlerbeschreibungen arbeiten - was beutet "Die bisherigen Lösungsansätze blieben erfolglos"?

--

"tsuji-giri" (japanisch) - ein neues Schwert an einem Passanten ausprobieren

zum Seitenanfang zum Seitenende Profil || Suche
009
10.10.2010, 18:05
default



Quellcode:RewriteCond %{HTTP_HOST} !^www\.villa-cape-coral4u\.com$ [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*)$ http://www.villa-cape-coral4u.com/$1 [R=permanent,L]
verstehst du eigentlich was du damit machst, oder ist das einfach nur blindes c&p?

nimm den !^$ match raus

--

Du musst Deine Bandbreite verbreitern, damit du breiter wirst von der Bandbreite her und ein breiteres Publikum ansprechen kannst.

zum Seitenanfang zum Seitenende Profil || Suche
010
11.10.2010, 10:33
default



Ich hab btw an der stelle auch versagt, es muss %{SERVER_NAME} sein.

--

Du musst Deine Bandbreite verbreitern, damit du breiter wirst von der Bandbreite her und ein breiteres Publikum ansprechen kannst.

zum Seitenanfang zum Seitenende Profil || Suche