Problem mit htaccess-Weiterleitung
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
all
anfrage
bestehende dateien
code
datei
domain
ergebnis
folgendes code
http
index
jemand
komplett vergessen
ordner
pfad
private models
problem
projekt
sagen
treten
url
- 
    
    Zum Verständnis: Ich habe eine Ordnerstruktur, die in etwa so aussieht:./private/models/*.php ./private/scripts/*.php ./public/img/*.jpg ./public/css/*.css ./public/index.php ./public/.htaccess ./.htaccess
 Wobei
 natürlich das Document-Root anzeigt. Nun habe ich im Wurzelverzeichnis die eine .htaccess-Datei, welche dafür sorgt, dass sämtliche Anfragen auf den public-Ordner umgeleitet werden. Bei mir sieht das ganze dann so aus:./<IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ public/ [L] RewriteRule (.*) public/$1 [L] </IfModule>
 Im Public-Ordner ist dann eine weitere .htaccess, welche sämtliche Anfragen (außer auf bestehende Dateien auf die index.php umleitet, sowie die indizierung von (Unter-)ordnern verhindern soll:Options All -Indexes <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [PT,L] </IfModule>
 So weit so gut. Das Problem tritt nun vorwiegend dann auf, wenn ich versuche auf einen Unterordner wie
 über./public/css
 (ohne slash hinten ) zuzugreifen. Denn dann zeigt er dummerweise die vollständige URL, alsohttp://domain.tld/css
 . Dies passiert jedoch nicht, wenn ich bei der genannten URL hinten einen Slash anhänge.http://domain.tld/public/css/
 
 Nun, da ich mir ziemlich sicher bin, dass der Computer genau das tut, was ich ihm sage, liegt der Fehler wohl bei mir und ich habe die Rewrite-Rules wohl nicht so gut verstanden wie ich bisher dachte. Als Ergebnis hätte ich gerne, dass er bestenfalls auch das /css einfach als url an die index.php anhängt, wenn daraus nichts wird, dann doch zumindest, dass er mir den pfad
 anstelle des Pfades mit public anzeigt. ( Den Public-Ordner sollte er möglichst komplett vergessen. )http://domain.tld/css
 
 Kann mir da jemand helfen?
- 
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden! lima-city: Gratis werbefreier Webspace für deine eigene Homepage 
- 
    
    RewriteRule ^$ public/ [L] RewriteRule (.*) public/$1 [L]
 Was soll das machen? Ich vermute mal zu suchst folgendes:
 RewriteRule ^(.*) public/$1 [QSA,L]
 So mach ich das zumindest immer bei meinen Projekten.
- 
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden! lima-city: Gratis werbefreier Webspace für deine eigene Homepage 
