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

RFC: PHP statt .htaccess (T-Online)

Forum rund um das Thema Hardware für Webmaster.
Neues Thema Antworten
Gentle_Giant
PostRank 1
PostRank 1
Beiträge: 24
Registriert: 26.04.2008, 22:01

Beitrag von Gentle_Giant » 28.05.2008, 10:07

Hi Forum,

wir hatten ja Anfang der Woche über den Umstand diskutiert, dass T-Online .htaccess ignoriert https://www.abakus-internet-marketing.d ... 57076.html.

Ich habe jetzt folgende Lösung gebaut: dieser Code wird am Anfang jeder Seite per PHP-Include hereingeholt und übernimmt - zumindestens teilweise - die Aufgaben von .htaccess.

Code: Alles auswählen

<?
   $request_host = strtolower&#40;$_SERVER&#91;"HTTP_HOST"&#93;&#41;;
   $request_uri = strtolower&#40;$_SERVER&#91;"REQUEST_URI"&#93;&#41;;
   $something_changed = false;

   // don't change host, when it is already the right one or when we're in test environment;
   $new_host = $request_host;
   if &#40; ! &#40; &#40;$new_host == "mynotebook"&#41;  || &#40;$new_host == "localhost"&#41;  || &#40;$new_host == "www.mytestserver.de"&#41; || &#40;$new_host == "www.der_richtige_server.de"&#41; &#41; &#41; &#123;
     $something_changed = true;
     $new_host = "www.der_richtige_server.de";
   &#125;
   $new_uri = $request_uri;

   // strip trailing slashes
   if &#40; &#40;strpos&#40;$new_uri,".php"&#41; > 0&#41; && &#40; substr &#40;$new_uri,-1&#41; == "/" &#41; &#41; &#123;
     $new_uri = substr&#40;$new_uri,0,-1&#41;;
     $something_changed = true;
   &#125;

   // ***SPECIAL*** convert underscores to hyphens
   if &#40;strpos&#40;$new_uri,"_"&#41; > 0&#41; &#123; // underscores vorhanden
     $new_uri = str_replace&#40;"_","-",$new_uri&#41;;
     $something_changed = true;
   &#125;

   if &#40; $something_changed &#41; &#123;
     $new_request = "http&#58;//".$new_host.$new_uri;
     header&#40;"Status&#58; 301 Moved Permanently"&#41;;
     header&#40;"Location&#58;$new_request"&#41;;
     exit;  
   &#125;
?>
Any comments?
Zuletzt geändert von Gentle_Giant am 28.05.2008, 10:29, insgesamt 1-mal geändert.

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.


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

Beitrag von 800XE » 28.05.2008, 10:20

Gentle_Giant hat geschrieben:Any comments?
1. mach doch bitte bei "T-Online" ein (Hosting) dazu .... dachte erst es geht um Internetzugang ... aber das kann ja nicht sein ... 301 ist ja eine WebServergescgichte


2. so ungefähr mach ich das auch
die möglichen Regulären Ausdrücke für htaccess die sind mir zu kompliziert
deswegen fange ich alles mit einer simplen htaccess ab und haue es auf die index.php .... einzig und alleine diese Datei wird bei mir requestet ....
dann verschiedene include (je nach URL andere) und .....
www.cms800.de/Account/CMS800install.html
REQuest Modul

Code: Alles auswählen


  /***********************************************************************
  *   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;;





  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

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag