| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

06-06-2009, 17:59
|
|
Luke
Registrierter Benutzer
|
|
Registriert seit: Oct 2001
Ort: Düsseldorf
Beiträge: 623
|
|
URLs wie domain.de/index.php/Blah bzw andere schöne URLs ohne htaccess
Hi
wie kann man das machen dass Parameter hinter einem PHP-Script nicht mit ? sondern mit / anfangen, oder um die Frage genau zu stellen, wie schafft man es dass man URLs wie
www.meinedomain.de/index.php/Name
haben kann. Ich muss jetzt nämlich ein paar scripte auf einen Apacheserver ohne htaccess laden und hätte da trotzdem gerne schöne URLs.
Grüße
Luke
PS: Gibt es vielleicht noch eine andere möglichkeit "schöne" URLs á la www.meinedomain.de/Name zu haben?
Geändert von wahsaga (06-06-2009 um 21:46 Uhr)
Grund: Verlinkung Beispieldomains entfernt
|

06-06-2009, 18:07
|
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.746
|
|
OffTopic: Mach wie der Kropff, alles statisch
Ohne ModRewrite ist nicht drin.
|

06-06-2009, 18:26
|
|
Luke
Registrierter Benutzer
|
|
Registriert seit: Oct 2001
Ort: Düsseldorf
Beiträge: 623
|
|
Aber ich meine beim mediawiki kannst du einstellen ob dein Server modrewrite kann und wenn nicht dann kann man die wikiseiten über
domain.de/index.php/Name
erreichen...
|

06-06-2009, 18:34
|
|
PHP-Desaster
PHP Expert
|
|
Registriert seit: Mar 2006
Beiträge: 3.104
|
|
Afaik ist der Zugriff über index.php/foo/bar mit einem Apache auch ohne mod_rewrite möglich, das geht über die AcceptPathInfo-Konfiguration.
Geändert von asp2php (06-06-2009 um 18:46 Uhr)
|

06-06-2009, 18:44
|
|
INC.
Registrierter Benutzer
|
|
Registriert seit: Nov 2005
Beiträge: 106
|
|
Zitat:
Zitat von asp2php
Ohne ModRewrite ist nicht drin.
|
Denke allerdings schon - ob es eine gute Lösung ist weiß ich nicht.
Die aufgerufene Seite splittet die URL per explode an "/" (oder einem beliebigen anderen Delimiter) und kommt so an die Subsections. Jetzt muss man nurnoch das Verhalten festlegen, nach welchem das von explode erzeugte Array verarbeitet wird.
Gerader index repräsentiert eine Variable. Ungerader, darauf folgender Index deren Inhalt. also
explode[0] = site
explode[1] = news
explode[2] = language
explode[3] = de
Die im Genre stark frequentierte Seite mousesports.de nutzt dieses Verfahren.
Geändert von INC. (06-06-2009 um 18:53 Uhr)
|

06-06-2009, 18:45
|
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.746
|
|
Zitat:
Zitat von PHP-Desaster
Afaik ist der Zugriff über index.php/foo/bar mit einem Apache auch ohne mod_rewrite möglich, das geht über die AcceptPathInfo-Konfiguration.
|
Ja, aber ohne .htaccess? Natürlich kann man in httpd.conf (oder seine includes) angeben, aber welche Hoster läßt dich das machen?
|

06-06-2009, 18:49
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Probiers aus!
Das tuts nahezu überall.
$_SERVER['PATH_INFO']
Geändert von combie (06-06-2009 um 18:58 Uhr)
|

06-06-2009, 18:51
|
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.746
|
|
Zitat:
Zitat von INC.
Denke allerdings schon - ob es eine gute Lösung ist weiß ich nicht.
Die aufgerufene Seite splittet die URL per explode an "/" (oder einem beliebigen anderen Delimiter) und kommt so an die Subsections. Jetzt muss man nurnoch das Verhalten festlegen, nach welchem das von explode erzeugte Array verarbeitet wird.
Gerader index repräsentiert eine Variable. Ungerader, darauf folgender Index deren Inhalt. also
explode[0] = site
explode[1] = news
explode[2] = language
explode[3] = de
Die im Genre statt frequentierte Seite mousesports.de nutzt dieses Verfahren.
|
Toll, denk mal nach! Wenn der Apache mit der "normalen" Konfiguration sowas bekommt:
http://www.abc.de/index.php/bla/blub
dann wird er zunächst versuchen
http://www.abc.de/index.php/bla/blub/index.php (oder .htm, ...) zu laden, findet er keine, bekommst du sofort 404 Fehler. Da ist nichts mit splitten und so ... du kommst noch nicht mal dazu den url auszuwerten.
Geändert von wahsaga (06-06-2009 um 21:44 Uhr)
Grund: Verlinkung Beispieldomains entfernt
|

06-06-2009, 18:55
|
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.746
|
|
Zitat:
Zitat von combie
Probiers aus!
Das tuts nahezu überall.
$_SERVER['QUERY_STRING']
|
Zitat:
Zitat von asp2php
Toll, denk mal nach! Wenn der Apache mit der "normalen" Konfiguration sowas bekommt:
http://www.abc.de/index.php/bla/blub
dann wird er zunächst versuchen
http://www.abc.de/index.php/bla/blub/index.php (oder .htm, ...) zu laden, findet er keine, bekommst du sofort 404 Fehler. Da ist nichts mit splitten und so ... du kommst noch nicht mal dazu den url auszuwerten.
|
Geändert von wahsaga (06-06-2009 um 21:45 Uhr)
Grund: Verlinkung Beispieldomains entfernt
|

06-06-2009, 18:59
|
|
INC.
Registrierter Benutzer
|
|
Registriert seit: Nov 2005
Beiträge: 106
|
|
Achja, richtig.
Mit veränderter Konfiguration würde es aber funktionieren? Die Programmierer o.g. Website behaupten, das wäre dann schneller als mod-rewrite, vermutlich wegen den regular expressions.
|

06-06-2009, 19:16
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Aus: core - Apache HTTP Server
Zitat:
Beschreibung: Ständig verfügbare Kernfunktionen des Apache HTTP Servers
Status: Core
// -------------
Handler, die Skripte bedienen, wie z.B. cgi-script und isapi-handler, sind im Allgemeinen darauf voreingestellt, PATH_INFO zu akzeptieren.
|
|

06-06-2009, 19:24
|
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.746
|
|
Tja, wenn PHP als CGI läuft, dann ja. Ist es nicht so dass PHP meist als Module läuft, oder irre ich mich? Ich hab' nich viel mit Webserver mit PHP zu tun, meist nur mit Windows und ASP.NET.
|

06-06-2009, 19:35
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Auch als Modul tuts das.
Der Provider muß es schon explizit abschalten.
Und wenn es nicht tut, dann tuts das nicht. Also Alternativen bereithalten (GET Parameter oder per mod_rewrite).
|

06-06-2009, 21:37
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von asp2php
Toll, denk mal nach! Wenn der Apache mit der "normalen" Konfiguration sowas bekommt:
http://www.example.com/index.php/bla/blub
dann wird er zunächst versuchen
http://www.example.com/index.php/bla/blub/index.php (oder .htm, ...) zu laden, findet er keine, bekommst du sofort 404 Fehler.
|
Nein, der Pfad wird von vorne nach hinten abgearbeitet.
Der Apache sucht nach index.php, findet eine Datei dieses Namens. Also weiss er zu dem Zeitpunkt schon, dass darunter nichts mehr kommen kann - denn eine Datei ist kein Verzeichnis. Also sieht der diese Datei als Ziel des Aufrufs an, und stellt den Rest als PATH_INFO zur Verfügung.
Und das ist wirklich auf vielen Servern aktiviert - auf so gut wie allen, die ich bisher gesehen habe.
Btw.: Muss ich ausgerechnet dich noch darauf hinweisen, dass für Beispiele bitte keine Fremddomains verwendet und auch noch verlinkt werden sollen ...?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

06-06-2009, 21:40
|
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.746
|
|
Zitat:
Zitat von wahsaga
Btw.: Muss ich ausgerechnet dich noch darauf hinweisen, dass für Beispiele bitte keine Fremddomains verwendet und auch noch verlinkt werden sollen ...?
|
Ich habe extra den checkbox deaktiviert aber irgendwie macht das Forum nicht, kA warum
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|