mod_rewrite problem

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


    • #3
      danke!

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

      Comment


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

        Comment


        • #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!

          Comment


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

            Comment

            Working...
            X