|
|
Balboa

: 08.02.2005 : 24
|
| : 08.02.2005, 15:17 : nicht original Verzeichnis anzeigen |
|
|
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/ |
|
| Nach oben |
|
 |
Caterham

: 20.09.2004 : 331
|
| : 08.02.2005, 16:05 : nicht original Verzeichnis anzeigen |
|
|
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: |
RewriteEngine On
RewriteRule ^ordner/?(.*)$ /html/ordner/$1 [L] |
Solltest du mod_aloas oder mod_userdir verwenden, müsstest du noch
unter Rewngine On notieren.
--> www.modrewrite.de
Zuletzt bearbeitet von Caterham am 26.04.2008, 22:25, insgesamt 2-mal bearbeitet |
|
| Nach oben |
|
 |
Balboa

: 08.02.2005 : 24
|
| : 08.02.2005, 16:18 : nicht original Verzeichnis anzeigen |
|
|
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. |
|
| Nach oben |
|
 |
Caterham

: 20.09.2004 : 331
|
| : 08.02.2005, 16:29 : nicht original Verzeichnis anzeigen |
|
|
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: |
RewriteEngine On
RewriteRule ^ordner$ /ordner/ [R=301,L]
RewriteRule ^ordner/(.*)$ /html/ordner/$1 [L] |
|
|
| Nach oben |
|
 |
Balboa

: 08.02.2005 : 24
|
| : 08.02.2005, 16:51 : nicht original Verzeichnis anzeigen |
|
|
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/ |
|
| Nach oben |
|
 |
Caterham

: 20.09.2004 : 331
|
| : 08.02.2005, 17:11 : nicht original Verzeichnis anzeigen |
|
|
|
Du musst aber www.domain.de/ordner/ aufrufen, oder was rufst du jetzt im Browser auf? |
|
| Nach oben |
|
 |
Balboa

: 08.02.2005 : 24
|
| : 08.02.2005, 17:17 : nicht original Verzeichnis anzeigen |
|
|
| 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. |
|
| Nach oben |
|
 |
Caterham

: 20.09.2004 : 331
|
| : 08.02.2005, 17:57 : nicht original Verzeichnis anzeigen |
|
|
Das ist in der Tat sehr merkwürdig.... die Regel ist soweit korrekt
Hast du schon einmal ein
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? |
|
| Nach oben |
|
 |
Balboa

: 08.02.2005 : 24
|
| : 08.02.2005, 18:33 : nicht original Verzeichnis anzeigen |
|
|
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. |
|
| Nach oben |
|
 |
Caterham

: 20.09.2004 : 331
|
| : 08.02.2005, 19:04 : nicht original Verzeichnis anzeigen |
|
|
| : |
| 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: |
| RewriteRule ^html/ordner/Seite-(.*)$ /html/ordner/index.php?page=$1 [L] |
|
|
| Nach oben |
|
 |
Balboa

: 08.02.2005 : 24
|
| : 08.02.2005, 19:19 : nicht original Verzeichnis anzeigen |
|
|
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. |
|
| Nach oben |
|
 |
Caterham

: 20.09.2004 : 331
|
| : 08.02.2005, 19:56 : nicht original Verzeichnis anzeigen |
|
|
| : |
| Ü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 |
|
| Nach oben |
|
 |
Balboa

: 08.02.2005 : 24
|
| : 08.02.2005, 21:17 : nicht original Verzeichnis anzeigen |
|
|
Gebe ich bei web-sniffer.net www.domain.de/ordner ein kommt:
HTTP Status Code: HTTP/1.1 301 Moved Permanently |
|
| Nach oben |
|
 |
Caterham

: 20.09.2004 : 331
|
| : 08.02.2005, 21:43 : nicht original Verzeichnis anzeigen |
|
|
mit dem location-Header www.domain.de/ordner/.
Das verursacht
| Code: |
| RewriteRule ^ordner$ /ordner/ [R=301,L] |
Darauf passt aber nur /ordner - ohne den trailing slash ($ markiert das Ende der Zeichenkette) |
|
| Nach oben |
|
 |
Balboa

: 08.02.2005 : 24
|
| : 08.02.2005, 21:56 : nicht original Verzeichnis anzeigen |
|
|
| Was bedeutet das jetzt? Liegt es am Server, dass es nicht möglich ist? |
|
| Nach oben |
|
 |