Lukas.: Frage zu Rewrite Regeln

Hallo,

meine .htaccess sieht derzeit so aus:

RewriteEngine on
RewriteBase /

RewriteRule ^([a-z0-9_]+)$ /index.php?param=$1

Funktioniert soweit sehr gut. Aber ich hätte gerne, dass eine Seite

www.my_site.de/nonsens oder
www.my_site.de/nonsens.html oder
www.my_site.de/nonsens.php

o.ä. dann auch auf www.my_site.de/home

umgeleitet würden.

Wie kann ich das erreichen?

L.

  1. RewriteEngine on
    RewriteBase /
    
    RewriteRule ^([a-z0-9_]+)$ /index.php?param=$1
    

    Wie muß ich die RewriteRule ändern, wenn ich die Links so gestalten möchte, dass ein wekiteres Unterverzeichnis simuliert wird, also der Link z.b www.my_site/my_verzeichnis/home lauten soll?

    L.

    1. Hello,

      RewriteEngine on
      RewriteBase /
      
      RewriteRule ^([a-z0-9_]+)$ /index.php?param=$1
      

      Wie muß ich die RewriteRule ändern, wenn ich die Links so gestalten möchte, dass ein wekiteres Unterverzeichnis simuliert wird, also der Link z.b www.my_site/my_verzeichnis/home lauten soll?

      Da benötigst Du den Proxy/ReverseProxy

      Die Links in den Dokumenten müssen dann ja auch alle umgeschrieben werden, oder?

      Liebe Grüße
      Tom S.

      --
      Es gibt nichts Gutes, außer man tut es
      1. Hi Tom,

        Die Links in den Dokumenten müssen dann ja auch alle umgeschrieben werden, oder?

        Genau so ist es. Ich denke, es ist einfacher, das Ganze wirklich in den Ordner selber zu legen.

        L.

        1. Hello,

          Die Links in den Dokumenten müssen dann ja auch alle umgeschrieben werden, oder?

          Genau so ist es. Ich denke, es ist einfacher, das Ganze wirklich in den Ordner selber zu legen.

          Da gab es schon einen Thread vor ein paar Tagen (~10). Es sind beim Apachen nur ca. 3 Zeilen. Der macht alles von alleine.

          Liebe Grüße
          Tom S.

          --
          Es gibt nichts Gutes, außer man tut es
          1. Hi Tom,

            Da gab es schon einen Thread vor ein paar Tagen (~10). Es sind beim Apachen nur ca. 3 Zeilen. Der macht alles von alleine.

            Diesen hier?

            L.

            1. Hello,

              Da gab es schon einen Thread vor ein paar Tagen (~10). Es sind beim Apachen nur ca. 3 Zeilen. Der macht alles von alleine.

              Diesen hier?

              Nee, der war's nicht.
              Such mal nach "ProxyMatch" und "ProxyPreserveHost".

              Liebe Grüße
              Tom S.

              --
              Es gibt nichts Gutes, außer man tut es
  2. hallo

    o.ä. dann auch auf www.my_site.de/home

    Du willst also testen, ob eine Datei existiert, bevor du den Pfad als Parameter verarbeitest

    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([a-z0-9_.]+)$ /index.php?param=$1 [L] 
    

    Achtung: [a-z0-9_.] Was jetzt nicht umgeleitet wird sind real existierende files. Deine index.php muss also mit Nonsense umgehen und gegebenenfalls ein 410 oder 404 zurückgeben.

    Im Übrigen solltest du für Beispiele example.org oder my_site.example verwenden.