index.php mit parametern aufrufen

Alles, was den Apache betrifft, kann hier besprochen werden.

index.php mit parametern aufrufen

Postby daturo » 16. December 2012 09:14

Hallo zusammen,
ich recherchiere jetzt schon eine ganze Zeit und habe leider keine Lösung für mein Problem gefunden, wahrescheinlich weil ich nicht in der Lage dieses richtig in der Suche zu formulieren.

Mein Problem stellt sich wie folgt dar:
Ich habe unter Linux einen Apache Wbeserver laufen der drei Domains verwaltet.
Jede Domain wird mit einem eigenen Template von demselben CMS verwaltet.

Ich möchte folgendes Problem lösen:
Aufruf von www.domain1 -> root Verzeichnis des CMS mit aufruf von index.php -> zeigt in der browseradresszeile http://www.domain1.de
Aufruf von www.domain2 -> root Verzeichnis des CMS mit aufruf von index.php?parameter=xyz1 -> zeigt in der browseradresszeile http://www.domain2.de
Aufruf von www.domain3 -> root Verzeichnis des CMS mit aufruf von index.php index.php?parameter=xyz2 -> zeigt in der browseradresszeile http://www.domain3.de

Ich bin leider kein IT Spezialist und wahrscheinlich ist mein Anliegen ganz einfach zu lösen.
Ich bin dankbar für jede Hilfe.
daturo
 
Posts: 3
Joined: 16. December 2012 09:03
Operating System: linux

Re: index.php mit parametern aufrufen

Postby Nobbie » 16. December 2012 13:16

>Aufruf von http://www.domain1 -> root Verzeichnis des CMS mit aufruf von index.php -> zeigt in der browseradresszeile http://www.domain1.de

Das sollte der Standardfall sein (jetzt schon), ohne irgendeine Anpassung. Dazu muss in httpd.conf irgendwo

Code: Select all
DirectoryIndex index.php


o.ä stehen

Allerding wird wahrscheinlich http://www.domain1.de/ (mit Slash am Ende) in der Browserzeile stehen, diese Option ist fast immer aktiv.

Dann legst Du im DocumentRoot Verzeichnis eine .htaccess an (oder Du schreibst den nachfolgenden Code in den <Directory ....> Block des DocumentRoot, das muss auch irgendwo in httdp.conf stehen) und schreibst die folgenden Zeilen hinein:

Code: Select all
RewriteEngine On
RewriteCond %{HTTP_HOST} =www.domain2.de
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^index.php$ index.php?parameter=xyz1 [L]
RewriteCond %{HTTP_HOST} =www.domain3.de
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^index.php$ index.php?parameter=xyz2 [L]


Wenn Du eine .htaccess angelegt hast (statt das in httpd.conf zu schreiben) müßte es sofort funktionieren, sonst musst Du Apache neu starten. Damit das funktioniert, muss mod_rewrite geladen und erlaubt sein.

Sauberer wäre es prinzipiell, das in einzelen VirtualHosts für die drei Domains auszulagern, aber es geht auch so und da Du keinerlei Kenntnisse besitzt und ich nicht weiß, wie der Server konfiguriert ist, reicht hier auch die Quick&Dirty Lösung.

Prinzipiell ist es übrigens eine ganz schlechte Idee, einen Webserver ohne IT Kenntnisse zu betreiben. Das ist wie Auto fahren ohne Führerschein. Im Internet gibt es Hacker und andere schlechte Menschen und die werden alles daran setzen, Deine Seite zu hacken (warum auch immer das gemacht wird). Ohne Kenntnisse bewegst Du dich da auf sehr glattem Parkett.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: index.php mit parametern aufrufen

Postby daturo » 16. December 2012 13:29

Hallo Nobbie,
herzlichen Dank für die schnelle Antwort.
An die Lösung mit einer .htacess hatte ich auch gedacht, sauberer und die präferierte Lösung ist aber tatsächlich der Anstaz mit einem virtuellen Host.
was ich leider noch nicht herausgefunden habe wie ich die Konfiguration des Virtuellen Hosts vornehmen muss um mein Ziel zu erreichen.
Was mir derzeit leider noch unklar ist, wie ich die einzelnen virtuellen hosts konfigurieren muss, sodass beim aufruf von domain2 und domain3 die index.php mit parametern aufgerufen wird in der Form von "index.php?parameter=xyz".

vielen Dank für Deine Hilfe.
daturo
 
Posts: 3
Joined: 16. December 2012 09:03
Operating System: linux

Re: index.php mit parametern aufrufen

Postby Nobbie » 16. December 2012 14:40

daturo wrote:Was mir derzeit leider noch unklar ist, wie ich die einzelnen virtuellen hosts konfigurieren muss, sodass beim aufruf von domain2 und domain3 die index.php mit parametern aufgerufen wird in der Form von "index.php?parameter=xyz"


In dem Du im jeweiligen VirtualHost (resp. im dortigen DocumentRoot - der zwar für alle Domains gleich ist, aber das ist ja erlaubt) die passenden Rewrites von oben übernimmst, wobei dort die jeweils erste RewriteCond (Abfrage auf den Domainnamen) wegfällt, weil innerhalb dieses VirtualHosts sowieso nur die Anfragen an diese Domain durchkommen.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: index.php mit parametern aufrufen

Postby daturo » 16. December 2012 14:43

hervorragend :)
hab vielen Dank!
daturo
 
Posts: 3
Joined: 16. December 2012 09:03
Operating System: linux


Return to Apache

Who is online

Users browsing this forum: No registered users and 18 guests