Frage zu Rewrite in Apache mittels .htaccess und Weiterverarbei
Gustav
- webserver
0 Malcolm Beck´s0 Gustav0 Malcolm Beck´s0 Gustav
Frage zu Rewrite in Apache mittels .htaccess und Weiterverarbeitung in php
Hallo!
Ich will, dass bei allen Aufrufen auf meine Domain eine php-Datei mit
dem Namen main.php aufgerufen wird.
Die angezeigte URL im Browser des Benutzers soll sich aber nicht
verändern.
Die URL soll dann von main.php untersucht werden, und entsprechend
wird dann die Seite zusammengestellt und per "echo" ausgegeben.
Dateien, die in main.php nicht eine spezielle Zusammenstellung
auslösen (z.B. ".jpg"-Dateien), sollen vom Server ganz normal
ausgeliefert werden.
Wie ginge das am Besten? (Fehlerhandling ist nicht besonders nötig.)
Grüße
hi,
Die URL soll dann von main.php untersucht werden, und entsprechend
wird dann die Seite zusammengestellt und per "echo" ausgegeben.Dateien, die in main.php nicht eine spezielle Zusammenstellung
auslösen (z.B. ".jpg"-Dateien), sollen vom Server ganz normal
ausgeliefert werden.
Ich verwende folgende RewriteRule:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /index.php/$1 [L]
Statische Dateien wie jpg, gif und so weiter, die exisitieren, werden vom Apache direkt ausgeliefert.
mfg
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /index.php/$1 [L]
>
Hallo!
Zum Testen habe ich erstmal eine ganz einfach .htaccess Datei:
RewriteEngine On
RewriteRule ^abc\.html$ test.html
Die Datei "test.html" ist vorhanden, im selben Verzeichnis.
Der Domainname zeigt auf einem 1und1-Server und dort auf dem Unterverzeichniss "/domains/ab.de".
Rufe ich jetzt http://www.meineDomain.de/abc.html auf, erscheint leider folgende Fehlermeldung:
"Not Found
The requested URL /kunden/homepages/12/d12345678/htdocs/domains/ab.de/test.html was not found on this server.
"
Was bedeutet "[L]" am Ende der RewriteRule? Leider scheinen mir die Hilfe-Seiten bei Apache nicht so gut, zumindest konnte ich das nirgends beschrieben finden.
):
Grüße
P.S. ( Ersetze ich "test.html" durch "http://www.meineDomain.de/test.html" erscheint im Browser zwar die Datei, aber leider ändert sich auch die Anzeige in der Location-Zeile von http://www.meineDomain.de/abc.html zu http://www.meineDomain.de/test.html . )
hi,
Zum Testen habe ich erstmal eine ganz einfach .htaccess Datei:
RewriteEngine On
RewriteRule ^abc.html$ test.html
Der Punkt in diesem Beispiel macht die Probleme (bzw. die Maskierung), ich bin auch bei 1und1 und da macht die Rule
RewriteRule ^robots.txt$ /inc-files/files/robots.txt [L]
keine schwierigkeiten.
Was bedeutet "[L]" am Ende der RewriteRule?
Siehe hier -- in diesem Thread findest du weitere nützliche Infos, einfach mal durchblättern.
mfg
hi,
Zum Testen habe ich erstmal eine ganz einfach .htaccess Datei:
RewriteEngine On
RewriteRule ^abc.html$ test.htmlDer Punkt in diesem Beispiel macht die Probleme (bzw. die Maskierung), ich bin auch bei 1und1 und da macht die Rule
Hallo!
Es lag doch nicht an der Maskierung. Ich habe jetzt "/test.html" statt nur "test.html" verwendet, und jetzt funktioniert es, maskiert und unmaskiert. (Ich würde 100Euro wetten, dass ich "/test.html" schon versucht hatte. =) )
RewriteEngine On
RewriteRule ^abc.html$ /test.html
Heute ist es zu spät, um weiterzumachen.
Und der für mich schwierigste Schritt läuft ja jetzt.
Danke für die Hilfe! Ich melde mich bestimmt wieder, in den nächsten Tagen.
Grüße
Gustav