Seite 1 von 2

nicht original Verzeichnis anzeigen

Verfasst: 08.02.2005, 14:17
von Balboa
Hallo,

ich habe auf meinem Webserver für mich zur besseren Übersicht ein Verzeichnis namens html wo sich wiederum einige Unterordner befinden.

Im Browser wird die Adresse dann folgendermassen angezeigt:
www.domain.de/html/ordner/
Ist es möglich, dass die Adresse im Browser ohne html angezeigt wird?
www.domain.de/ordner/

Ich habe es schonmal mit htaccess versucht aber denke mal das war falsch, da es nicht funktioniert hat.

RewriteEngine On
RewriteRule ^ordner/$ /html/odner/

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


nicht original Verzeichnis anzeigen

Verfasst: 08.02.2005, 15:05
von Caterham
Hi,

von der Syntax her sollte es richtif sein (www.domain.de/ordner/ wird aufgerufen und www.domain.de/html/ordner/ geladen. Sollen jedoch noch Dateien mitgegeben werden, müsste das so aussehen:

Code: Alles auswählen

RewriteEngine On
RewriteRule ^ordner/?(.*)$ /html/ordner/$1 [L]
Solltest du mod_aloas oder mod_userdir verwenden, müsstest du noch

Code: Alles auswählen

RewriteBase /alias
unter Rewngine On notieren.


--> www.modrewrite.de

nicht original Verzeichnis anzeigen

Verfasst: 08.02.2005, 15:18
von Balboa
Es ist jetzt wie eine Weiterleitung.

Ich kann z.B. www.domain.de/ordner eingeben und werde dann auf www.domain.de/html/ordner weitergeleitet. Habe dann aber immer noch diese Adresse in der Browserzeile stehen.

nicht original Verzeichnis anzeigen

Verfasst: 08.02.2005, 15:29
von Caterham
in der Regel oben habe ich noch den /ordner/ vergessen.

Einige Server machen bei requests ohne trailing slash probleme und führen dann einen redirect aus. Yahoo fordert meistens Verzeichnisse immer ohne trailing slash an

Versuche daher einmal

Code: Alles auswählen

RewriteEngine On
RewriteRule ^ordner$ /ordner/ [R=301,L]
RewriteRule ^ordner/(.*)$ /html/ordner/$1 [L]

nicht original Verzeichnis anzeigen

Verfasst: 08.02.2005, 15:51
von Balboa
Hmm funktioniert immer noch nicht.

Habe die htaccess datei im root verzeichnis meiner domain.
Der richtige pfad www.domain.de/html/ordner/ soll so:
www.domain.de/ordner/ angezeigt werden. Physisch existiert dieser ordner ja nicht, der obere aber schon.

Anders rum hat es bei mir bisher immer funktioniert, also wenn ich z.B. www.domain.de/ordner/ habe, kann ich einfach einen weiteren Ordner der nicht existiert hinzufügen: www.domain.de/ordner/ordner2/

nicht original Verzeichnis anzeigen

Verfasst: 08.02.2005, 16:11
von Caterham
Der richtige pfad www.domain.de/html/ordner/ soll so:
www.domain.de/ordner/ angezeigt werden.

Anders rum hat es bei mir bisher immer funktioniert
Du musst aber www.domain.de/ordner/ aufrufen, oder was rufst du jetzt im Browser auf?

nicht original Verzeichnis anzeigen

Verfasst: 08.02.2005, 16:17
von Balboa
Richtig, ich rufe www.domain.de/ordner/ auf, das funktioniert auch, dann werde ich aber nach www.domain.de/html/ordner/ weitergeleitet und in der Adresszeile steht diese Adresse.

nicht original Verzeichnis anzeigen

Verfasst: 08.02.2005, 16:57
von Caterham
Das ist in der Tat sehr merkwürdig.... die Regel ist soweit korrekt

Hast du schon einmal ein

Code: Alles auswählen

RewriteBase /
unter RWEngine On probiert? Das sollte aber normal nicht erforderlich sein. Können sonst durch andere regeln / .htaccess-Dateien in unterordnern externe redirects ausgelöst werden? Wird der Redirect mit dem Statuscode 301 oder 302 gesendet?

nicht original Verzeichnis anzeigen

Verfasst: 08.02.2005, 17:33
von Balboa
im root die htaccess datei hat ein RewriteBase /

RewriteEngine On

RewriteBase /
RewriteCond %{REMOTE_ADDR} ^12\.148\.196\.(12[8-9]|1[3-9][0-9]|2[0-4][0-9]|25[0-5])$ [OR] # NameProtect spybot
RewriteCond %{REMOTE_ADDR} ^12\.148\.209\.(19[2-9]|2[0-4][0-9]|25[0-5])$ [OR] # NameProtect spybot
RewriteCond %{REMOTE_ADDR} ^62\.48\.74\.([0-9]|[1-5][0-9]|6[0-3])$ [OR] # Teleinfo Hannover, Germany, spambot
RewriteCond %{REMOTE_ADDR} ^63\.148\.99\.2(2[4-9]|[3-4][0-9]|5[0-5])$ [OR] # Cyveillance spybot
RewriteCond %{REMOTE_ADDR} ^64\.140\.49\.6([6-9])$ [OR] # Turnitin spybot
RewriteCond %{HTTP_REFERER} "iaea\.org" [NC,OR] # spambot
RewriteCond %{HTTP_USER_AGENT} "^[A-Z]+$" [NC,OR] #double characters
RewriteCond %{HTTP_USER_AGENT} "^Atomz" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "^BlackWidow" [NC,OR]
.
.
.
dann folgt:

RewriteRule .* - [F,L] # 403-Forbidden
RewriteRule ^ordner$ /ordner/ [R=301,L]
RewriteRule ^ordner/(.*)$ /html/ordner/$1 [L]

Eine weitere Datei befindet sich dann unter html/ordner/

Da steht aber nur folgendes drin:
RewriteEngine on
RewriteRule ^Seite-(.*)$ index\.php?page=$1

Wie kann ich denn diesen Status 301 oder 302 sehen? Kenne mich da nicht so aus.

nicht original Verzeichnis anzeigen

Verfasst: 08.02.2005, 18:04
von Caterham
Wie kann ich denn diesen Status 301 oder 302 sehen?
Über web-sniffer.net können die HTTP-Response Header angezeigt werden
Eine weitere Datei befindet sich dann unter html/ordner/
Damit können Regeln aus höheren Verzeichnissen außer Kraft gesetzt werden

Versuche den Inhalt der Datei /html/ordner/.htaccess einmal in /.htaccess einzufügen un die alte Datei im Unterordner zu löschen:

Code: Alles auswählen

RewriteRule ^html/ordner/Seite-(.*)$ /html/ordner/index.php?page=$1 [L]

nicht original Verzeichnis anzeigen

Verfasst: 08.02.2005, 18:19
von Balboa
habe die RewriteRule in die htaccess datei im rootverzeichnis eingefügt und die htaccess datei im verzeichnis html/ordner gelöscht, macht aber kein unterschied.

Über web-sniffer.net wird HTTP Status Code: HTTP/1.1 200 OK angezeigt wenn ich meine adresse eingebe.

nicht original Verzeichnis anzeigen

Verfasst: 08.02.2005, 18:56
von Caterham
Über web-sniffer.net wird HTTP Status Code: HTTP/1.1 200 OK angezeigt wenn ich meine adresse eingebe.
Dann kann sich die (sichtbare) Adresse vom Server aus nicht von /ordner/ auf /html/ordner/ ändern, da hier kein external redirect (Statuscode 30x) stattfindet. Durch eine Server-Response (d.h. der User macht hier nichts weiteres) kann die URL nur über einen external redirect geändert werden. Bei dem Statuscode 200 wird "normaler Inhalt" an den Browser übermittelt, keine neue zu landende URL im Location-Header.

Viel mehr müsste das bei einem redirect so aussehen

Verfasst: 08.02.2005, 20:17
von Balboa
Gebe ich bei web-sniffer.net www.domain.de/ordner ein kommt:

HTTP Status Code: HTTP/1.1 301 Moved Permanently

nicht original Verzeichnis anzeigen

Verfasst: 08.02.2005, 20:43
von Caterham
mit dem location-Header www.domain.de/ordner/.
Das verursacht

Code: Alles auswählen

RewriteRule ^ordner$ /ordner/ [R=301,L] 
Darauf passt aber nur /ordner - ohne den trailing slash ($ markiert das Ende der Zeichenkette)

nicht original Verzeichnis anzeigen

Verfasst: 08.02.2005, 20:56
von Balboa
Was bedeutet das jetzt? Liegt es am Server, dass es nicht möglich ist?