Seite 1 von 1

.htaccess und pseudo-Ordner

Verfasst: 01.07.2007, 16:04
von Ohara
Hallo Abakus-Gemeinde! (klingt irgendwie fanatistisch ;P)

Nachdem ich nichts gefunden habe, was mich ernsthaft zufriedenstellt, bitte ich Euch nochmal um Eure Hilfe:

Ich habe Dateien im Root-Folder liegen:

z.B.: https://www.domain.tld/bericht_über_irgendwas.php

diese Dateien kann ich auch ohne Dateierweiterung abrufen, dass erlaubt der werte Apache:

z.B.: https://www.domain.tld/bericht_über_irgendwas --> (ohne'/' am Ende)

So. Jetzt möchte ich, dass der User, die Suchmaschine "vorgegaukelt" bekommt, dass sich die Datei im Ordner 'seo' befindet, z.B.:
so: https://www.domain.tld/seo/bericht_über_irgendwas.php

daher habe ich im Ordner '/seo' auf dem Server ein kleines .htacces file angelegt:

Code: Alles auswählen

Redirect permanent /seo/document http://www.domain.tld/document
Das ganze bewirkt, dass der User, sobald er 'https://www.domain.tld/seo/document' eingibt, sofort auf
'https://www.domain.tld/document' umgeleitet wird. Ich möchte jedoch, dass der User diese Umleitung garnicht erst mitbekommt! D.h. in der Navigationsleiste soll immernoch 'https://www.domain.tld/seo/document' stehen.

Geht das überhaupt? Wenn ja, wie?

Und: Wie kann ich hierbei duplicate Content verhindern? Ist es besser, wenn ich dann sicherheitshalber in der robots.txt 'Disallow: /document.php' bzw. 'Disallow: /document' schreibe?


Vielen Dank im Voraus, ich hoffe, dass diese Frage (Thematik: pseudo-Folder) u.U. auch andere interessiert.

Liebe Grüße,

Ohara

Verfasst:
von
Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

Verfasst: 01.07.2007, 17:27
von matin
sorry, den sinn dahinter versteh ich nicht. wozu einen ordner anlegen, der nur in der navigation besteht? wenn du nicht den googlebot über irgendwelche cloaking methoden die seo url ausgibst, dann wird nicht einmal die url irgendwo aufscheinen, da ja alles per redirect premanent umgeleitet ist. warum legst du dein mod_rewrite nicht so an, dass die documente automatisch im seo-ordner ausgegeben werden und wenn jemand die datei ohne dem seo-ordner aufruft automatisch per 301 weitergeleitet wird?

Verfasst: 01.07.2007, 19:03
von Ohara
wozu einen ordner anlegen, der nur in der navigation besteht?
reine Optik! Ästhetik?
warum legst du dein mod_rewrite nicht so an, dass die documente automatisch im seo-ordner ausgegeben werden
...weil ich nicht weiß, wie ich das tun soll! Die Dokumente sind leider schon im Root, ich kann sie auch nicht verschieben, weil sie viele Dateien includen, die auch im root liegen, dann müsste ich alles editieren. Wie kann ich denn mit Hilfe von mod_rewrite, die Dokumente im seo-Ordner ausgeben?

Belehr' mich ruhig eines besseren, -ich nehme jede Möglichkeit dankend an. Hauptsache, die Dokumente werden im Ordner 'seo' angezeigt, ohne, dass ich sie alle dorthin verschieben muss...

Vielen Dank,

Ohara

Verfasst:
von

Verfasst: 01.07.2007, 22:11
von matin
mit folgendem code kannst du den ordner seo mit dem teil der uri der datei simulieren:
wenn alle .php dateien im root-ordner umgeleitet werden sollen:

Code: Alles auswählen

RewriteEngine On
RewriteRule ^seo/([^.]+)$ $1.php?rw=1 [QSA,L]
RewriteCond %{QUERY_STRING} !^rw=1
RewriteRule ^([^.]+)\.php$ /seo/$1 [R=301,L]
wenn nun bestimmte dateien (in diesem fall die bericht_über_irgendwas.php) umgeleitet werden sollen:

Code: Alles auswählen

RewriteEngine On
RewriteRule ^seo/([^.]+)$ bericht_über_irgendwas.php?rw=1 [QSA,L]
RewriteCond %{QUERY_STRING} !^rw=1
RewriteRule ^([^.]+)\.php$ /seo/$1 [R=301,L]
dieser code leitet nun einerseits den aufruf der datei https://www.domain.tld/bericht_über_irgendwas.php per 301 auf https://www.domain.tld/seo/bericht_über_irgendwas um und zeigt gleichzeitig den inhalt der datei https://www.domain.tld/bericht_über_irgendwas.php an.

Verfasst: 02.07.2007, 14:12
von Ohara
Hey Super! Vielen Dank!

Ich werds' umgehend testen!

Verfasst: 02.07.2007, 21:02
von Ohara
so! habs getestet. Es funktioniert wunderbar.

ich hab' die untere 'RewriteRule' mal modifiziert, damit nur bestimmte Dokumente umgeschrieben werden:

Code: Alles auswählen

RewriteRule ^seo/([^.]+)$ $1.php?rw=1 [QSA,L]
RewriteCond %{QUERY_STRING} !^rw=1
RewriteRule ^bestimmtes_dokument.php$ /seo/$1 [R=301,L] 
Am besten wäre es jedoch für mich, wenn alle Dokumente, bis auf

xyz.php
abc.php
...

umgeschrieben werden. So eine Art Exclusion-List. Ist sowas möglich?


Liebe Grüße,

Ohara

Verfasst: 02.07.2007, 21:38
von matin

Code: Alles auswählen

RewriteEngine On
RewriteRule ^nicht-umleiten-1.php - [L]
RewriteRule ^nicht-umleiten-2.php - [L]
RewriteRule ^seo/([^.]+)/$ $1.php?rw=1 [QSA,L]
RewriteCond %{QUERY_STRING} !^rw=1
RewriteRule ^([^.]+)\.php$ /seo/$1/ [R=301,L]