Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

komplette URL als variable übergeben

Mehrere Domains, Domain-Umzug, neue Dateinamen, 301/302
Neues Thema Antworten
gnark
PostRank 8
PostRank 8
Beiträge: 920
Registriert: 23.01.2009, 15:12

Beitrag von gnark » 16.03.2010, 14:17

Hi, ich hab diese rule hier:

RewriteRule ^([^/\.]+)/?$ index.php?url=$1 [L]

die müsste doch eigentlich alles, auch "/" weiterleiten und als $url übergeben?
Funktioniert aber nur, wenn kein "/" drin ist, dann versucht der Apache scheinbar in dem Ordner zu suchen.
Weiss einer was falsch ist, ich will einfach nur $url übergeben bekommen, so: "ordner1/ordner2/trallala"

Danke
https://das-dass.de ... übrigens: es heisst sitewide mit "t"

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


terrorschaf
PostRank 1
PostRank 1
Beiträge: 5
Registriert: 17.03.2010, 12:02

Beitrag von terrorschaf » 17.03.2010, 14:44

Versuchs mal so:
RewriteRule ^domainname/(.*)/?$ index.php [L]

und dann einfach die parameter über REQUEST_URI holen.

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 17.03.2010, 15:44

gnark hat geschrieben:^([^/\.]+)/?$
[…]
Funktioniert aber nur, wenn kein "/" drin ist
Wenn du als Muster "Textbeginn, gefolgt von einem oder mehreren Zeichen außer Schrägstrich und Punkt, gefolgt von einem oder keinem Schrägstrich und dem Textende" angibst, musst du dich nicht wundern, wenn er anderswo als am Ende einer Zeichenkette keinen Schrägstrich mag.
die müsste doch eigentlich alles, auch "/" weiterleiten
"Alles" geht so: .*

800XE
PostRank 10
PostRank 10
Beiträge: 5223
Registriert: 02.12.2004, 03:03

Beitrag von 800XE » 17.03.2010, 20:59

gnark hat geschrieben:Hi, ich hab diese rule hier:

RewriteRule ^([^/\.]+)/?$ index.php?url=$1 [L]

die müsste doch eigentlich alles, auch "/" weiterleiten und als $url übergeben?
Funktioniert aber nur, wenn kein "/" drin ist, dann versucht der Apache scheinbar in dem Ordner zu suchen.
Weiss einer was falsch ist, ich will einfach nur $url übergeben bekommen, so: "ordner1/ordner2/trallala"

Danke
Diese Expression DInger sind ..... ich kapier die nicht
ich fang alles ab und mach es in PHP

Code: Alles auswählen

RewriteRule (.*)/$             /?folder=$1
RewriteRule (.*)\.html$        /?file=$1
Das da noch Parameter stehen, ist eine Altlast, die werden garnicht verwendet
ich greif die URL aus den $_SERVER Umgebungsvariablen ab

Code: Alles auswählen

  // abschliesenden Slash an Ordnner anhängen wenn nicht da
  if ( !strpos($_SERVER[REQUEST_URI], ".") )
  {
    if ( strrpos("#".$_SERVER[REQUEST_URI], "/")
            < strlen&#40;$_SERVER&#91;REQUEST_URI&#93;     &#41; &#41; 
    &#123;
      $error="";     $_SERVER&#91;REQUEST_URI&#93;.="/";
    &#125;
  &#125;



  /***********************************************************************
  *   REQUEST analyse
  *                     Sub
  *                         Domain
  *                                 Folder
  *                                        File
  **********************************************************************/
  $REQUEST = strtolower&#40;$_SERVER&#91;HTTP_HOST&#93;&#41;;
  $REQlast = -1;
  $tok     = strtok&#40;$REQUEST, "."&#41;;
  while&#40; $tok &#41;
  &#123;
    $REQlast++;
    $REQlist&#91;4&#93; = $REQlist&#91;3&#93;;
    $REQlist&#91;3&#93; = $REQlist&#91;2&#93;;
    $REQlist&#91;2&#93; = $REQlist&#91;1&#93;;
    $REQlist&#91;1&#93; = $REQlist&#91;0&#93;;
    $REQlist&#91;0&#93; = $tok;
    $tok      = strtok&#40; "." &#41;;
  &#125;
  
  $REQUEST_SUB      = $REQlist&#91;2&#93;;
  $REQUEST_HOST     = $REQlist&#91;1&#93;.'.'.$REQlist&#91;0&#93;;
  $REQUEST_SITE     = $REQlist&#91;2&#93;.' '.$REQlist&#91;1&#93;.' '.$REQlist&#91;0&#93;;
  $REQUEST_DOMAIN   = $REQlist&#91;1&#93;;
  $REQUEST_FOLDER   = $GLOBALS&#91;folder&#93;;
  $REQUEST_FILE     = $GLOBALS&#91;file&#93;;
  $REQUEST_FILEPATH = $_SERVER&#91;REQUEST_URI&#93;;
  $REQUEST_FILE     = $GLOBALS&#91;file&#93;;
  $REQUEST_FOLDER   = $GLOBALS&#91;folder&#93;;



  // Folder und File per Hand ermitteln
  //echo&#40;"<br>#############$_SERVER&#91;REQUEST_URI&#93;#".substr&#40;$_SERVER&#91;REQUEST_URI&#93;, -5&#41;&#41;;
  //echo&#40;"<br>######$REQUEST_FOLDER#$REQUEST_FILE#"&#41;;
  if &#40; ".html"==substr&#40;$_SERVER&#91;REQUEST_URI&#93;, -5&#41; &#41;
  &#123;
    //echo&#40;"<br>$_SERVER&#91;REQUEST_URI&#93;"&#41;;
    $REQUEST_FILE  =substr&#40;$_SERVER&#91;REQUEST_URI&#93;, 0, -5&#41;;
    $pos           =strrpos&#40;$REQUEST_FILE, "/"&#41;;
    $REQUEST_FOLDER=substr&#40;$REQUEST_FILE, 0,$pos&#41;;
    $REQUEST_FILE  =substr&#40;$REQUEST_FILE, 1+$pos&#41;;
    //echo&#40;"<br>#$REQUEST_FOLDER#$REQUEST_FILE#"&#41;;
  &#125;
  else
  &#123;
    $REQUEST_FILE   = "";
    $REQUEST_FOLDER = $_SERVER&#91;REQUEST_URI&#93;;
    //echo&#40;"<br>#$REQUEST_FOLDER#$REQUEST_FILE#"&#41;;
  &#125;
  if &#40; "/"==substr&#40;$REQUEST_FOLDER, 0, 1&#41; &#41; $REQUEST_FOLDER=substr&#40;$REQUEST_FOLDER, 1&#41;;
  if &#40; "/"==substr&#40;$REQUEST_FOLDER, -1  &#41; &#41; $REQUEST_FOLDER=substr&#40;$REQUEST_FOLDER, 0, -1&#41;;
  if &#40; "/"==substr&#40;$REQUEST_FILE, 0, 1&#41; &#41; $REQUEST_FILE=substr&#40;$REQUEST_FILE, 1&#41;;
  if &#40; "/"==substr&#40;$REQUEST_FILE, -1  &#41; &#41; $REQUEST_FILE=substr&#40;$REQUEST_FILE, 0, -1&#41;;


Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag