Theresa: htaccess mod_rewrite - Error 500 bei gleichen Dateinamen

Hi Leute!

Langsam verzweifle ich, mein Kopfknoten löst sich einfach nicht...
Was solls können:

Aus
www.domain.com/sitemap
soll
www.domain/sitemap.php werden.
Gleichzeitig soll aber aus
www.domain.com/sitemap.xml
wiederum
www.domain/sitemap.xml werden.

Was kann ich schon:
RewriteEngine On
RewriteRule ^sitemap /sitemap.php

Was bewirkt meine Lösung:
Internal Server Error 500 :(

Was hab ich noch probiert:
RewriteCond %{QUERY_STRING} (.*)
RewriteRule ^sitemap(.*) /sitemap.%1
Aber bei der Lösung muss ich statt dem . ein ? machen zur URL-Übergabe,
was ja schon fast ist was ich brauche aber dann doch nicht funktioniert.

Ich komm alleine nicht auf die richtige Lösung,
regexp ist mir noch nicht so richtig geläufig. :(

Ich bedanke mich jetzt schon für eure Hilfe!!

Eure Theresa

  1. Hallo Theresa,

    Was bewirkt meine Lösung:
    Internal Server Error 500 :(

    In so einem Fall ist *immer* das Errorlog zu befragen, da steht idR was dem Apachen nicht passt.

    Gruß,
    Tobias

    1. Hi Tobias!

      In so einem Fall ist *immer* das Errorlog zu befragen, da steht idR was dem Apachen nicht passt.

      Hab leider keinen Zugriff, vermute aber, dass das Problem darauf beruht, dass es 2 Dateien mit gleichem Namen aber unterschiedlichen Endungen gibt.

      Danke und Grüße,
      Theresa

      1. Hab leider keinen Zugriff, vermute aber, dass das Problem darauf beruht, dass es 2 Dateien mit gleichem Namen aber unterschiedlichen Endungen gibt.

        Nein, das bedeutet, dass der Apache einen Fehler bei der CGI-Ausführung oder, hier viel wahrscheinlicher, in der htaccess bemerkt hat.

        Fred

        1. Moin!

          Hab leider keinen Zugriff, vermute aber, dass das Problem darauf beruht, dass es 2 Dateien mit gleichem Namen aber unterschiedlichen Endungen gibt.

          Nein, das bedeutet, dass der Apache einen Fehler bei der CGI-Ausführung oder, hier viel wahrscheinlicher, in der htaccess bemerkt hat.

          Darunter fallen auch die Situationen, bei denen der Apache dort etwas findet, zu dem es kein konfiguriertes Modul gibt, beispielsweise wenn mod_rewrite nicht existiert.

          - Sven Rautenberg

  2. Hi,

    RewriteEngine On
    RewriteRule ^sitemap /sitemap.php

    aus sitemap wird also im ersten Schritt sitemap.php.
    Das wird im nächsten Schritt von ^sitemap gematcht, also wird sitemap.php daraus gemacht.
    Das wird im nächsten Schritt von ^sitemap gematcht, also wird sitemap.php daraus gemacht.
    Das wird im nächsten Schritt von ^sitemap gematcht, also wird sitemap.php daraus gemacht.
    Das wird im nächsten Schritt von ^sitemap gematcht, also wird sitemap.php daraus gemacht.
    Das wird im nächsten Schritt von ^sitemap gematcht, also wird sitemap.php daraus gemacht.
    Das wird im nächsten Schritt von ^sitemap gematcht, also wird sitemap.php daraus gemacht.
    Das wird im nächsten Schritt von ^sitemap gematcht, also wird sitemap.php daraus gemacht.
    Das wird im nächsten Schritt von ^sitemap gematcht, also wird sitemap.php daraus gemacht.
    Das wird im nächsten Schritt von ^sitemap gematcht, also wird sitemap.php daraus gemacht.
    Das wird im nächsten Schritt von ^sitemap gematcht, also wird sitemap.php daraus gemacht.
    Das wird im nächsten Schritt von ^sitemap gematcht, also wird sitemap.php daraus gemacht.
    Das wird im nächsten Schritt von ^sitemap gematcht, also wird sitemap.php daraus gemacht.
    ...

    Du solltest per RewriteCond (oder im Regex) ausschließen, daß bereits die Ziel-Url vorliegt.

    Was bewirkt meine Lösung:
    Internal Server Error 500 :(

    Wenn das nicht wie von Sven vermutet, daran liegt, daß mod_rewrite gar nicht zur Verfügung steht (könnte man testen, indem man NUR das rewriteEngine On in die .htaccess reingibt), dann dürfte es von der Endlos-Rewriterei kommen.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.