Parralels Default Site überschreibt mod_rewrite?

Wie wir alle wissen (sollten) ändert mod_rewrite keine Links im Script. Damit auch die Links auf Deiner Page auf die neuen "Rewrited URLs" zeigen bedarf es der Anpassung im Code. Fragen und Probleme rund um's Coding werden hier diskutiert.

Moderator: Super-Mod

Antworten
isrobot
.
.
Beiträge: 2
Registriert: 25.07.2010 14:18

Parralels Default Site überschreibt mod_rewrite?

Beitrag von isrobot »

Hi mod_rewrite-Forum,
nach tagelanger Suche über google etc bin ich auf das Forum hier gestoßen.
Allerdings konnte ich durchs Lesen der Beiträge keine Lösung für mein Problem finden.

Folgender Sachstand:
-Ich habe einen vServer, bei dem ich sichergestellt habe dass mod_rewrite an ist
-Darauf eine Domain http://www.domain.tld

Ich möchte:
-dass wenn http://www.domain.tld eingegeben wird das Hauptverzeichnis / geöffnet wird

-dass wenn man domain.tld eingibt ebenfalls das Hauptverzeiuchnis / geöffnet wird
  • Derzeitiger Code:

    Code: Alles auswählen

    RewriteCond %{HTTP_HOST} !^domain.tld?www.domain.tld$ [NC]
-dass Userpages erstellt werden können die als Subdomains angezeigt werden
  • Derzeitiger Code:

    Code: Alles auswählen

    RewriteCond ^(.*+).domain.tld/(.*)$ site.php?user=%1&page=%2
Als Beispiel:

Peter erstellt sich eine Internetseite auf der Plattform: http://peter.domain.tld , die als /site.php?user=peter erscheint
Peter hat die Unterseiten:
Startseite & Kontakt, die als
http://peter.domain.tld/ & http://peter.domain.tld/kontakt angezeigt wird und auf /site.php?user=peter&page=1 & /site.php?user=peter&page=kontakt verweist

Bei meinem derzeitigen vollständigen Code

Code: Alles auswählen

RewriteEngine On

RewriteCond %{HTTP_HOST} !^domain.tld?www.domain.tld$ [NC]
RewriteCond ^(.*+).domain.tld/(.*)$ site.php?user=%1&page=%2
wird beim Aufruf peter.domain.tld die Parralels Default Site angezeigt obwohl eigentlich auf site.php zugegriffen werden sollte.

site.php sieht wir folgt aus:(rein als test)

Code: Alles auswählen

<?php
if (!isset($_REQUEST['user'])){
	die('Direkter Aufruf dieser URL ('.$_SERVER['PHP_SELF'].') ist nicht erlaubt!');
}
if (!isset($_REQUEST['page'])){
	die('Direkter Aufruf dieser URL ('.$_SERVER['PHP_SELF'].') ist nicht erlaubt!');
}
else{
	echo'Dies ist die Seite '.$_REQUEST['page'].' des Benutzers "'.$_REQUEST['user'].'".';
}
?> 
was normal ausgeben sollte: "Dies ist die Seite 1 des Benutzers Peter."

Mein Wissensstand seitens mod_rewrite ist rar gestrickt, demnach wäre es nett wenn mir da jemand auf die Sprünge helfen könnte.
LG
Sven
isrobot
.
.
Beiträge: 2
Registriert: 25.07.2010 14:18

Re: Parralels Default Site überschreibt mod_rewrite?

Beitrag von isrobot »

Hey sorry aber wurde die Aktivität hier eingestellt?
Nur damit ich weiss ob ich auf eine Antwort hoffen kann...
Gumbo
Moderator
Moderator
Beiträge: 5019
Registriert: 07.01.2005 01:18
Wohnort: Trier

Re: Parralels Default Site überschreibt mod_rewrite?

Beitrag von Gumbo »

Der Host kann nur wie in dem einen Fall gezeigt mit der „RewriteCond“-Direktive geprüft werden. In diesem Fall ist also beide Male RewriteCond zu verwenden:

Code: Alles auswählen

RewriteCond %{HTTP_HOST} !=www.example.com
RewriteCond %{HTTP_HOST} ^([^./]+)\.example\.com$
RewriteRule .* site.php?user=%1&page=$2
Markus Wulftange
Antworten