Seite 1 von 1

Was haut hier nicht hin ?

Verfasst: 12.12.2008, 13:12
von MaxxWald
G..gle sagt mir, daß beide Seiten meines Blog, also die blog/ und die
blog/index.php indiziert sind. Das ist nicht so toll und nun meine Frage:
Wie kriege ich dieses Problem geklärt ? Ansätze sind da, helfen jedoch nicht, weil die index.php dann auf meine Hauptdomain umleitet:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /kreditblog/
RewriteCond %{THE_REQUEST} index\.php [NC]
RewriteRule ^(.*)index\.php /$1 [NC,L,R=301]
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /kreditblog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /kreditblog/index.php [L]
</IfModule>
# END WordPress

Irgandwas haut da nicht hin. Wer weiss es besser ?

Verfasst:
von

Re: Was haut hier nicht hin ?

Verfasst: 12.12.2008, 23:18
von Mork vom Ork
MaxxWald hat geschrieben:G..gle sagt mir, daß beide Seiten meines Blog, also die blog/ und die blog/index.php indiziert sind. Das ist nicht so toll
In der Zeile

RewriteRule ^(.*)index\.php /$1 [NC,L,R=301]

kommt mir der Schrägstrich verdächtig vor, denn den hast du im Muster nicht explizit genannt. Du fügst damit dem urpsrünglichen Pfad noch einen Schrägstrich vorne an, aus dings/bums/index.php (ohne führenden Schrägstrich, da Verarbeitung in .htaccess-Bereich) würde /dings/bums/ werden, was unter Umständen etwas völlig anderes sein könnte.
Das muss aber nicht die Ursache sein, es wäre nur der Punkt, an dem ich ansetzen würde.

Ich benutze bei mir folgende Fassung:

RewriteCond %{REQUEST_URI} ^(.*/)index\.[a-z.]+$
RewriteRule .* %1 [R=301,L]

Es ist nicht verkehrt, diesen Code in der obersten .htaccess einzubauen, denn index.xy kommen ja (meist) nicht nur in einem einzelnen Unterverzeichnis vor, und warum mit einem aufhalten, wenn man gleich alle erschlagen kann.

Die <IfModule>-Zeilen kannst du übrigens weglassen, sie sind überflüssig - wenn du kein mod_rewrite hast, brauchst du gar nicht erst Rewrite-Sachen in die .htaccess schreiben, und wenn du mod_rewrite hast, brauchst du nicht prüfen, ob du es hast.
Weiterhin brauchst du RewriteEngine und RewriteBase nicht zweimal aufrufen.

Re: Was haut hier nicht hin ?

Verfasst: 13.12.2008, 04:33
von huah
Mork vom Ork hat geschrieben: Ich benutze bei mir folgende Fassung:

RewriteCond %{REQUEST_URI} ^(.*/)index\.[a-z.]+$
RewriteRule .* %1 [R=301,L]
Das scheint sich mit Wordpress beissen...

Ich benutze für diesen Zweck und für noch viel mehr das Permalink Redirect Plugin: https://scott.yang.id.au/code/permalink-redirect/

Re: Was haut hier nicht hin ?

Verfasst: 13.12.2008, 11:27
von Mork vom Ork
huah hat geschrieben:
Mork vom Ork hat geschrieben: Ich benutze bei mir folgende Fassung:

RewriteCond %{REQUEST_URI} ^(.*/)index\.[a-z.]+$
RewriteRule .* %1 [R=301,L]
Das scheint sich mit Wordpress beissen...
Gibt noch diese Alternative:

RewriteCond %{THE_REQUEST} " (.*/)index\.[a-z.]+ "
RewriteRule .* %1 [R=301,L]

REQUEST_URI ändert sich unter bestimmten Umständen während der serverinternen Verarbeitung, THE_REQUEST meiner Beobachtung nach nie.

Re: Was haut hier nicht hin ?

Verfasst: 13.12.2008, 12:11
von huah
Mork vom Ork hat geschrieben: Gibt noch diese Alternative:

RewriteCond %{THE_REQUEST} " (.*/)index\.[a-z.]+ "
RewriteRule .* %1 [R=301,L]
Das verträgt sich mit dem WP-Code - muss ich mir merken.
.htaccess-Kram nicht leicht sein ;-)

Verfasst: 14.12.2008, 14:40
von MaxxWald
In der Zeile

RewriteRule ^(.*)index\.php /$1 [NC,L,R=301]

kommt mir der Schrägstrich verdächtig vor, denn den hast du im Muster nicht explizit genannt.
Das haut hin !!!
Hab den Schrägstrich entfernt und nun wird die index.php direkt auf blog/ umgeleitet. Nun heisst der Code so:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /....blog/
RewriteCond %{THE_REQUEST} index\.php [NC]
RewriteRule ^(.*)index\.php $1 [NC,L,R=301]
</IfModule>

Danke für eure Hilfe :lol: