php.de

Zurück   php.de > Webentwicklung > Server, Hosting und Workstations

Server, Hosting und Workstations Server-Konfigurationsdateien (.htaccess/httpd.conf) und Arbeiten auf Serverebene

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
Alt 25.07.2008, 13:59  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard virtuelle ordner und htaccess

Beim Thread-Titel hab ich mich etwas schwergetan - folgendes will ich machen:

Auf einer Site habe ich im Root-Dir folgende .htaccess-Datei:
Code:
RewriteEngine On 
RewriteRule ^(.*).htm$ zentrale.php?seite=$1
RewriteRule ^(.*).html$ zentrale.php?seite=$1
Einen Seitenaufruf der Art:
domain.de/ordner/was.html hole ich in zentrale.php mit
PHP-Code:
$seite $_GET['seite']; 
ab. in $seite steht bei diesem Beispiel: ordner/was
Ich kann das am Slash zerlegen und kenne Ordner und Seite.

Die Startseite index.html in einem virtuellen Ordner wäre z.B. domain.de/virtuell/index.html . Einen real existierender Ordner mit einer real existierenden index.html kann ich mit domain.de/realerordner/ erreichen, weil mein Apache so konfiguriert ist. Wie kann ich diese Konfiguration in der htaccess nachvollziehen, damit auch domain.de/virtuell/ funktioniert - der macht derzeit natürlich einen 404. Vielleicht kann mir jemand die fehlende Zeile posten.

Ausprobiert habe ich statt der eingangs geposteten Zeilen:
RewriteRule ^(.*) zentrale.php

Damit kann ich den kompletten Request auch abrufen und in die einzelnen Teile zerlegen, dummerweise werden aber auch Leseanweisungen für die rel existierenden Bilder- und css-Ordner verbogen.
Wolla ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.07.2008, 14:16  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Hab ich dich richtig verstanden? Du willst deinem Mod-Rewrite einzelne Ausnahmen hinzufügen`?
cycap ist offline   Mit Zitat antworten
Alt 25.07.2008, 14:27  
Erfahrener Benutzer
 
Registriert seit: 07.06.2008
Beiträge: 992
PHP-Kenntnisse:
Fortgeschritten
Frank befindet sich auf einem aufstrebenden Ast
Frank eine Nachricht über ICQ schicken Frank eine Nachricht über MSN schicken Frank eine Nachricht über Yahoo! schicken
Standard

Falls ich das richtig verstanden habe möchtest du, wenn der ordner wirklich existiert (oder die datei) deine RewriteRule außer kraft setzen. Dazu kannst du sogenannte RewriteConditions benutzen und mit den operatoren -F und -d arbeiten
Code:
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-F [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.(htm|html)$ zentrale.php?seite=$1
__________________
Frank ist offline   Mit Zitat antworten
Alt 25.07.2008, 20:14  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Danke schonmal
Die Erweiterung mit den conditions produziert bei mir einen Internal Server Error.

*** edit: Den error hab ich per Tippfehler selbst produziert



Um es nochmal zu wiederholen:

Ich möchte aus

domain.de/virtueller_ordner/virtuelle_seite.html

mit $_GET[] den Ordner und die Seite extrahieren, was ich ja auch schon mit dem oben geposteten htaccess kann, UND ich möchte aus

domain.de/virtueller_ordner/
und gerne auch aus
domain.de/virtueller_ordner

mit $_GET[] auch den Ordner extrahieren

Dazu fehlt mir was in der htaccess, weil ja in der jetzigen Form nur Urls verbogen werden, in denen ein .html bzw. .htm vorkommt.

Vielleicht geht das mit einer error document 404 direktive, aber ich hab keinen Plan, wie ich das angehen kann.

Geändert von Wolla (25.07.2008 um 20:31 Uhr).
Wolla ist offline   Mit Zitat antworten
Alt 25.07.2008, 20:28  
Erfahrener Benutzer
 
Registriert seit: 07.06.2008
Beiträge: 992
PHP-Kenntnisse:
Fortgeschritten
Frank befindet sich auf einem aufstrebenden Ast
Frank eine Nachricht über ICQ schicken Frank eine Nachricht über MSN schicken Frank eine Nachricht über Yahoo! schicken
Standard

ach so, da hab ich dich wohl missverstanden...

Code:
RewriteEngine On 

RewriteRule ^.*\/{0,1}(.+\/{0,1}.*)(\..+|.{0}|\/)$ zentrale.php?seite=$1
Das müsste, wenn ich mich nicht irre, das tun was du möchtest

Aufbau

^
.* 0 oder mehrere beliebiege Zeichen (anfang der url)
\/{0,1} einer oder kein /
( gruppen anfang
.* beliebige anzahl von beliebigen zeichen (also ordnername oder dateiname)
\/{0,1} ein oder kein / (jenachdem ob es ein ordner war oder schon eine datei)
.* beliebige anzahl von beliebigen zeichen (falls ein ordnername vorher war ist das der filename, ansonsten einfach nix (0 zeichen))
) Gruppenende
( Gruppenanfang
\..+ ein Punkt "." dann mindestens 1 weiteres beliebiges zeichen (also die Dateiendung)
|.{0} oder 0 beliebige zeichen (falls es ein ordner war, haben wir ja keine dateiendung)
|\/ oder ein / (wenn ordnername mit / aufhört, dass wollen wir nicht im $1 haben)
) Gruppenende

müsste dann in $1 folgendes ablegen

Code:
domain.de/virtueller_ordner/virtuelle_seite.html 
-> virtueller_ordner/virtuelle_seite

domain.de/virtueller_ordner/  
-> virtueller_ordner

domain.de/virtueller_ordner 
-> virtueller_ordner
Wie gesagt, nur wenn ich mich nicht irre
__________________
Frank ist offline   Mit Zitat antworten
Alt 25.07.2008, 20:38  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

hab mehrfach überprüft dass ich richtig kopiert habe, aber das produziert einen 500er Fehler
Wolla ist offline   Mit Zitat antworten
Alt 25.07.2008, 21:54  
Erfahrener Benutzer
 
Registriert seit: 07.06.2008
Beiträge: 992
PHP-Kenntnisse:
Fortgeschritten
Frank befindet sich auf einem aufstrebenden Ast
Frank eine Nachricht über ICQ schicken Frank eine Nachricht über MSN schicken Frank eine Nachricht über Yahoo! schicken
Standard

Schlecht

Ich setzt mich mal nochma ran und teste bissl rum.
__________________
Frank ist offline   Mit Zitat antworten
Alt 25.07.2008, 22:01  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Prima, ich koch nomma Kaffee.
Wolla ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Zugriff mit session auf Ordner begrenzen Diego1978 PHP Tipps 2008 1 08.07.2008 06:38
[Erledigt] PHP -> Ordner anlegen der sich auch beschreiben lässt?! Nightuser PHP Tipps 2008 13 30.06.2008 23:51
Probleme mit Zugriff auf HTACCESS gesicherten Ordner Pimbolie1979 PHP Tipps 2008 6 20.05.2008 08:27
Serverbeschränkung (Ordner beschränkung) triopsi Server, Hosting und Workstations 2 29.04.2008 17:07
TreeMenu Fatal Error PHP Tipps 2006 8 07.04.2006 11:22
images ordner schützen? Promaetheus PHP Tipps 2006 2 02.01.2006 20:23
FTP Programm zeigt Ordner nicht an LordAvalon PHP Tipps 2007 5 18.11.2005 13:41
htaccess Weiterleitung bei Subdomains Beitragsarchiv 2 02.08.2005 15:09
Ordner auf Inhalt prüfen Juuro PHP Tipps 2005-2 10 20.07.2005 19:22
htaccess | eingeloggt in anderem ordner? notyyy PHP Tipps 2005 6 13.05.2005 13:49
Kann keine Datei im eigens erstellten Ordner anlegen PHP Tipps 2005 8 11.03.2005 21:03
ordner in einem verzeichnis auslesen und anzeigen lindner PHP Tipps 2004 5 19.08.2004 00:03
WebFTP: php denkt die ordner wären dateien... phpfortgeschrittener PHP Tipps 2004 15 09.08.2004 18:38
Ist der Ordner schon vorhanden? Pimbolie1979 PHP Tipps 2004 2 21.07.2004 15:02
Ordner lesen --> Baumstruktur --> Problem PHP Tipps 2004 0 30.06.2004 17:22

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
htaccess virtueller ordner, php virtuelle ordner, htaccess virtuelle ordner, mod_rewrite virtuelle ordner, apache virtuelle ordner, htaccess virtuelle verzeichnisse, apache virtueller ordner, rewriterule virtuelle ordner, virtuelle verzeichnisse htaccess, php virtueller ordner, virtuelle ordner mod_rewrite, mod_rewrite virtuelle verzeichnisse, mod_rewrite virtueller ordner, htaccess virtuelles verzeichnis, htaccess url zerlegen, virtuelle ordner htaccess, mod rewrite virtuelle verzeichnisse, mod_rewrite virtuelle verzeichnis, virtuelle ordner php, virtuelle verzeichnis php

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:45 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum