Google weiß alles: PHP: Unterseiten-Name anpassen (SEO)

Beitrag lesen

http://www.xxxxxxxx.de/hamburg/kanzlei/

Eine weitere, wenig beachtete Möglichkeit besteht darin mit

ErrorDocument 404 /index.php

in der Serverkonfiguration (oft: .htaccess) auf die index.php verweisen und dann $_SERVER['REQUEST_URI'] mit explode() zu zerlegen:

Vorliegend würde ein Aufruf von http://www.xxxxxxxx.de/hamburg/kanzlei/ dazu führen, dass in $_SERVER['REQUEST_URI'] dann '/hamburg/kanzlei/' steht.

Diesen also etwa wie folgt behandeln:

$str = trim($_SERVER['REQUEST_URI'], '/'); 
$str = preg_replace( '#//+#' , '/' , $str ); # Für eventuelle '//' (Fehleingaben)

behandeln. Das Ergebnis wäre 'hamburg/kanzlei'.

Dann explode:

$ar = explode('/', $str);

Tja. Und dann noch etwas wie:

if ( 1 < count( $ar ) ) {
   $item = array_pop( $ar );
   $arKategorien = $ar;
   require_once( $_SERVER['DOCUMENT_ROOT'] . '/lib/getDocument.php' );
   getDocument($item, $arKategorien);
} else {
   $arKategorien = false;
   $item = $ar[0];
   require_once( $_SERVER['DOCUMENT_ROOT'] . '/lib/getDocument.php' );
   getDocument($item, $arKategorien);
} 

lib/getDocument.php zum Erzeugen der Webseite bzw. der Suche nach dem Dokument enthalten.

Lauffähiges Testskript mit Berücksichtigung der alten Adressierung:

<?php
/**
* @filename: /index.php
**/

### Testwerte:
#$_SERVER['REQUEST_URI'] = '/';
#$_GET['page'] = 'Kanzlei';

# $_SERVER['REQUEST_URI'] = '/impressum/';
# $_SERVER['REQUEST_URI'] = 'Hamburg/Kanzlei/';
# $_SERVER['REQUEST_URI'] = '/Hamburg/Kanzlei';
# $_SERVER['REQUEST_URI'] = '/Rio//Kanzlei';
$_SERVER['REQUEST_URI'] = '/München/Kanzlei//Anwälte/Andreas+Mustermann';
###

ob_start();

$str = trim($_SERVER['REQUEST_URI'], '/');
$str = preg_replace( '#//+#' , '/' , $str ); # Für eventuelle '//' (Fehleingaben)

$ar = explode('/', $str);

if (! isset($_GET['page']) ) {
    if ( 1 < count( $ar ) ) {
        $item = array_pop( $ar );
        $arKategorien = $ar;
        #require_once( $_SERVER['DOCUMENT_ROOT'] . '/lib/getDocument.php' );
        getDocument($item, $arKategorien);
    } else {
        $arKategorien = false;
        $item = $ar[0];
        #require_once( $_SERVER['DOCUMENT_ROOT'] . '/lib/getDocument.php' );
        getDocument($item, $arKategorien);
    }
} else {
    header( 'Status: 301 Document moved' );
    header( 'Location: /' . rawurlencode( $_GET['page'] ) );
    echo 'Location: /' . rawurlencode( $_GET['page'] ) , "\n";
}
exit;

function getDocument( $item , $arKategorien ) {
    header( 'Content-Type: text/plain; charset=utf-8' );
    echo 'Item: "' . urldecode( $item ) . '"', "\n";
    echo 'Kategorien: '; print_r( $arKategorien );
    echo "\n";
}
0 47

PHP: Unterseiten-Name anpassen (SEO)

Christoph B.
  • php
  1. 0
    dedlfix
    1. 0
      Tagwächter
      1. 0
        TS
        1. 0
          Tagwächter
      2. 0
        dedlfix
        1. 0
          Tagwächter
      3. 0
        MudGuard
        1. 0

          Allfällige Korrektur

          Tagwächter
  2. 0
    TS
    1. 0
      pl
      1. 0
        TS
        • apache
        1. 0
          pl
          1. 3
            Tagwächter
  3. -1
    Google weiß alles
    1. 0

      Nicht hilfreich?

      Google weiß alles
      • php
      • zu diesem forum
      1. 0
        dedlfix
        • menschelei
        • zu diesem forum
        1. 0
          Google weiß alles
          1. 0
            dedlfix
            1. 0
              Tagwächter
              • menschelei
              1. 0
                dedlfix
      2. 0

        Fehlender Test

        Google weiß alles
      3. 1
        dedlfix
        1. 0
          Tagwächter
          1. 1
            dedlfix
            1. 0
              Tagwächter
              1. 0
                Tagwächter
            2. 0
              TS
              • apache
              • php
              1. 0
                Tagwächter
                1. 0
                  TS
                  1. 0
                    Tagwächter
                    1. 0

                      Nicht nur Suchmaschinen sondern auch Proxys

                      Tagwächter
                    2. 0

                      I'm a teapot

                      Der Martin
                      • menschelei
                      1. 0
                        Tagwächter
                        • humor
                        • menschelei
                        1. 0
                          Der Martin
                          1. 0
                            TS
                  2. 0
                    Der Martin
                    1. 1
                      Tagwächter
                      • suchmaschinen
              2. 0
                Matthias Apsel
    2. 0
      pl
    3. 0
      1unitedpower
  4. 0

    PHP: Unterseiten-URLs anpassen, interne Links nicht vergessen!

    TS
  5. 0

    Apache Directive FallbackResource

    TS
    • apache
    • php
    1. 0
      Tagwächter
      1. 0
        TS
        1. 1
          Google weiß alles
        2. 0
          pl