Tagwächter: PHP: Unterseiten-Name anpassen (SEO)

Beitrag lesen

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# http[s]://server/ort/seite/ , http[s]://server/ort/seite
RewriteRule ^(.*)/(.*)/{0,1}$ index.php?ort=$1&page=$2 [L,QSA]

# http[s]://server/seite/ , http[s]://server/seite
RewriteRule ^/(.*)/{0,1}$     index.php?page=$1 [L,QSA]

Das wollte Christoph mMn aber gerade umgekehrt.

Nö. Genau so... der Request http://server/ort/seite/ soll nach Ankunft auf dem Server zu http://server/index.php?ort=Hamburg&page=Kanzlei umgebaut werden.

Viel wichtiger ist dann aber, dass er die vom System zu sendenden (Response) Links auch in die neue Form bringt.

Naja. Fingerübung.

<?php
ob_start(); # Ausgaben speichern
header( 'Content-Type: text/plain; charset=utf-8' ); # Nur für den Test!
 
#... Testseite "bauen";
########
echo <<<EOT
<ul>
    <li><a href="https://server/index.php?page=impressum">Impressum</a></li>
    <li><a href="http://server/index.php?page=impressum">Impressum 2</a></li>
    <li><a href="/index.php?page=impressum">Impressum</a></li>
    <li><a href="https://server/index.php?ort=Hamburg&page=Kanzlei">Wir in Hamburg</a></li>
    <li><a href="http://server/index.php?ort=Hamburg&page=Kanzlei">Wir in Hamburg 2</a></li>
    <li><a href="/index.php?ort=Hamburg&page=Kanzlei">Wir in Hamburg 3</a></li>
    <li><a href="https://server/index.php?page=Kanzlei&ort=Hamburg">Wir in Hamburg 4</a></li>
    <li><a href="http://server/index.php?page=Kanzlei&ort=Hamburg">Wir in Hamburg 5</a></li>
    <li><a href="/index.php?page=Kanzlei&ort=Hamburg">Wir in Hamburg 6</a></li>
</ul>
EOT;
########

$out = ob_get_contents(); # Seite aus Speicher holen
ob_clean(); # Speicher löschen, sonst wird der nochmals ausgegeben!

#Ein paar müde Ersetzungen:

$s[] = 'https://server';
$s[] = 'http://server';

$out = str_replace($s, '', $out);

$s = array();

$s[] = '/index.php\?ort=(.*)\&page=(.*)(["\'])';
$r[] = '/\1/\2/\3';

$s[] = '/index.php\?page=(.*)\&ort=(.*)(["\'])';
$r[] = '/\2/\1/\3';

$s[] = '/index.php\?page=(.*)(["\'])';
$r[]='/\1/\2';


for ( $i=0 ; $i < count($s) ; $i++ ) {
    $s[$i] = '#' . str_replace('#', '\#', $s[$i]) . '#'; # Begrenzer für Regex!
    $out = preg_replace( $s[$i] , $r[$i] , $out);
}

echo $out;

Ausgabe:

<ul>
    <li><a href="/impressum/">Impressum</a></li>
    <li><a href="/impressum/">Impressum 2</a></li>
    <li><a href="/impressum/">Impressum</a></li>
    <li><a href="/Hamburg/Kanzlei/">Wir in Hamburg</a></li>
    <li><a href="/Hamburg/Kanzlei/">Wir in Hamburg 2</a></li>
    <li><a href="/Hamburg/Kanzlei/">Wir in Hamburg 3</a></li>
    <li><a href="/Hamburg/Kanzlei/">Wir in Hamburg 4</a></li>
    <li><a href="/Hamburg/Kanzlei/">Wir in Hamburg 5</a></li>
    <li><a href="/Hamburg/Kanzlei/">Wir in Hamburg 6</a></li>
</ul>
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