mod_rewrite problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mod_rewrite problem

    Hallo,
    ich habe zwei regeln:
    PHP-Code:
    RewriteRule ([en][de])/? index.php?page=0&lang=$[L]
    RewriteRule ([en][de])/(.*)\.html index.php?page=$2&lang=$[L
    Sie sorgen dafür, dass ich folg. Aufrufe machen kann.
    PHP-Code:
    domain.tld => Startseite
    domain
    .tld/ => Startseite
    domain
    .tld/lang => Startseite mit Sprache
    domain
    .tld/lang/ => Startseite
    domain
    .tld/lang/page.html => Seite mit Sprache 
    Ich würde jetzt noch gerne Anfragen die auf die ersten beiden Regeln nicht zutreffen an index.php?page=404 umleiten, aber wie????

  • #2
    RewriteRule .* index.php?page=404
    ErrorDocument 404 index.php?page=404

    Kommentar


    • #3
      danke!

      ist [en][de] eigentlich richtig? sollte es nicht normalerweise [en,de] heissen?

      Kommentar


      • #4
        (en|de) wäre richtig.

        Kommentar


        • #5
          Hallo,
          ich habe nun folg. Ruleset

          PHP-Code:
          # 404 abfangen - domain anpassen!
          ErrorDocument 404 [url]http://example.com/index.php?page=404&lang=de[/url]

          # "domain.tld/lang" und "domain.tld/lang/" => index.php?page=0&lang=de
          RewriteRule ^(de|en)/?$ index.php?page=index&lang=$1  [L]

          # "domain.tld/lang/page.html => index.php?page=page&lang=lang
          RewriteRule ^(de|en)/([a-zA-Z0-9]+)\.html$  index.php?page=$2&lang=$[L]  

          # "domain.tld/ => index.php?page=0&lang=de
          RewriteRule ^/?$  index.php?page=0&lang=de [L
          Wenn nun die 404-Regel greift, dann steht auch wirklich http://example.com/index.php?page=404&lang=de in der browserleiste...

          1. warum wird index.php?page=404&lang=de nicht weiter verarbeitet zu de/404.html?

          2. Kann ich http://example.com/ weglassen und den Hostnamen dynamisch ergänzen lassen? z.B. %HTTP_HOST/index.php... (was ja nicht geht)

          Danke für die Antworten!

          Kommentar


          • #6
            1) Auf welche Rule soll es denn matchen?
            2) Versuchs doch einfach.

            Kommentar

            Lädt...
            X