RewriteCond - htaccess - Ordner in URL

  • Thread starter Thread starter Deleted member 14821
  • Start date Start date


D

Deleted member 14821

Guest
Hallo,
mit folgender RewriteRule möchte ich, das die index.html aus einem Ordner
geladen wird, aber ohne das dieser Ordner in der URL auftaucht.

Leider komm ich nicht mehr weiter. Vielleich hat jemand von euch noch ne idee.

PHP:
Options -Indexes
RewriteEngine On
RewriteBase /

SetEnvIf HOST        ^sub.mydomain.de          allow
Order allow,deny
Allow from env=allow
Satisfy any

RewriteCond %{HTTP_HOST} ^(www.)?sub.mydomain.de$
RewriteRule ^(/)?$ folder [L]

danke - marek
 
Hallo Tolive,
im root liegen diverse scripte die allerdings per htpasswd gesichert sind
sub.domain.de soll aber offen sein - dort liegt halt ne index.html, etc.

PHP:
Options -Indexes
RewriteEngine On
RewriteBase /
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /path/htuser
require valid-user

by-the-way: innerhalb von "folder" liegt ja auch eine .htaccess mit:
PHP:
Order allow,deny
Allow from all

gruß
marek
 
Beschränken wir uns doch auf das wesentliche:

PHP:
RewriteEngine On
RewriteBase /

RewriteRule ^index.html$ ordner/index.html [L,QSA]

ordner ist du den richtigen Namen zu ersetzen ;).
 
hi,
damit ist jetzt der eigentlich geschützte bereich frei zügänglich.
d.h. er läd die index.php innerhalb des root, aber nicht die index.html aus "folder"

hm?

gruß
 
hi tolive,
ich hab mit deiner rewriterule etwas rumgespielt und so angepasst
dmit geht es - jedoch werden die bilder nicht mehr geladen - hast du
da vielleicht nen tipp

PHP:
RewriteRule ^(.*) folder/index.html [L]

gruß
marek
 
Deine Verzeichnisstruktur ist, mit Verlaub, beschissen gewählt.
Besser wäre zum Beispiel:
Code:
/var/www                     <- Basisverzeichnis, kein Documentroot
/var/www/_default_           <- Default-Documentroot (IP-Zugriff und Fallback)
/var/www/sub1.domain1.tld    <- Documentroot für sub1.domain1.tld
/var/www/sub2.domain1.tld    <- Documentroot für sub2.domain1.tld
/var/www/sub1.domain2.tld    <- Documentroot für sub1.domain1.tld
/var/www/sub2.domain2.tld    <- Documentroot für sub2.domain2.tld
....
Die Struktur sollte selbsterklärend sein und löst nicht nur Dein aktuelles Problem.


Ansonsten arbeitet Apache seine Config per first-match-wins von oben nach unten ab.
 
Hi Joe,
ja das ist durchaus möglich - ist aber in der amazon cloud eh etwas vorgegeben
daher habe ich da nicht viel freiraum

gruß
marek
 
hi,
damit ist jetzt der eigentlich geschützte bereich frei zügänglich.
d.h. er läd die index.php innerhalb des root, aber nicht die index.html aus "folder"

hm?

gruß

Genau, die wird nur geladen wenn du auch domain.de/index.html aufrufst. Eine allgemeine Lösung hast du ja schon gefunden ;).

hi tolive,
ich hab mit deiner rewriterule etwas rumgespielt und so angepasst
dmit geht es - jedoch werden die bilder nicht mehr geladen - hast du
da vielleicht nen tipp

PHP:
RewriteRule ^(.*) folder/index.html [L]

gruß
marek

Dazu müsste ich wissen wie die Bilder verlinkt sind ... aber wahrscheinlich muss daran etwas geändert werden.
 
hallo tolive,
mit etwas knobbeln und googlen dann doch die etwas größere
aber funktionierende version

PHP:
RewriteCond %{HTTP_HOST} ^sub.mydomain.de$
RewriteRule ^$ /folder/ [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/folder/
RewriteRule ^(.*)$ /folder/$1
RewriteCond %{SCRIPT_FILENAME} -d
RewriteRule ^folder/(.*[^/])$ http://sub.domain.de/$1/ [R=301]

alles im zusammenhang versteh ich noch nicht ganz - aber bin dem
auf der schliche :-)

hab ihr vielleich noch weiterführende online-lektüre die empfehlenswert ist?
danke für die schnelle hilfe :-)

gruß
marek
 
Last edited by a moderator:
Back
Top