Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: htaccess Rewriterule

    ia-solution

    • Neu im Forum
    • Beiträge: 16
    htaccess Rewriterule
    am: 02. September 2013, 16:48:50
    Hallo liebe Community,

    ich hoffe hier kann mir jemand helfen, da ich mir solangsam den Kopf über dem Problem zerbreche.

    Ich möchte gerne URL's die nicht mit ".html" enden umleiten auf die dieselbe URL mit ".html" am Ende.

    Als Beispiel:

    www.domain.de/datei.php/parameter/123_testtext
    soll umgeleitet werden auf:
    http://www.domain.de/datei.php/parameter/123_testtext.html

    (Wobei der Paramerter und dessen Wert variabel sein können)

    Wundert euch nicht über den aufbau der URL daran kann ich nichts ändern.
    Allerdings darf nicht umgeleitet werden, wenn z.B folgendes aufgerufen wird:
    - www.domain.de/datei.php
    - Domain.de
    - Domain.de
    usw.

    Mein Ansatz sieht zur Zeit folgendermaßen aus:

    Code:

    RewriteEngine On
    RewriteCond %{REQUEST_URI} !\.(.*)\.([a-z])
    RewriteRule ^(.*)$ $0.html [L,R=301]

    Ich hoffe mir kann jemand weiterhelfen.

    Grüße

    Linkback: https://www.modified-shop.org/forum/index.php?topic=27524.0
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware

    modexperts

    • Neu im Forum
    • Beiträge: 13
    • Geschlecht:
    Re: htaccess Rewriterule
    Antwort #1 am: 02. September 2013, 17:36:26
    Ich würde es an deiner Stelle lieber sein lassen. Oder siehst du einen besonderen Nutzen für den User?

    Ansonsten wäre dein Vorhaben möglich, bloß sehr aufwendig. Du müsstest erst Ausnahmen definieren und dann die Regel. Es wird so oder so zu Problemen kommen, da du ja noch Kategorien usw. hast. Du müsstest erstmal alle URLs herausfinden, bei denen dies nicht der Fall sein soll. Dazu müsstest du Xenu oder Strucr anschmeißen. Deine .htaccess wird dadurch dann sehr lang und die Fehlerquote steigt. Also kümmere dich lieber um gute Kategorie- und Produktbeschreibungen ;)

    ia-solution

    • Neu im Forum
    • Beiträge: 16
    Re: htaccess Rewriterule
    Antwort #2 am: 03. September 2013, 14:28:03
    Falls mal Jemand ein ähnliches Problem hat ;-)

    Der folgende Code hat mein spezifisches Problem gelöst:

    RewriteCond %{REQUEST_URI} !(.*)\.html$
    RewriteCond %{REQUEST_URI} !(.*)\.html(.*)$
    RewriteCond %{REQUEST_URI} (.*)product_info\.php(.+)$
    RewriteRule ^(.*)$ %{REQUEST_URI}.html [L,R=301]

    cYbercOsmOnauT

    • modified Team
    • Beiträge: 914
    • Geschlecht:
    Re: htaccess Rewriterule
    Antwort #3 am: 03. September 2013, 15:49:57
    Deine Rule hat jedoch einen Nachteil. Sie nimmt den sog. QUERY_STRING mit.

    Aus
    www.domain.de/datei.php/parameter/123_testtext?start=10
    wird
    www.domain.de/datei.php/parameter/123_testtext?start=10.html

    Erklärung: In REQUEST_URI steht der komplette Aufruf (mit Query, jedoch ohne Hash weil dieser nicht an den Server übertragen wird).

    Zudem kannst Du das (.*) am Anfang weglassen, denn schliesslich hast Du ganz links kein ^ und fängst somit sowieso nicht ganz links im String an.

    Zitat
    RewriteCond %{REQUEST_URI} !\.html$
    RewriteCond %{REQUEST_URI} !\.html(.*)$
    RewriteCond %{REQUEST_URI} /product_info\.php(.+)$
    Sollte m.E. genauso funktionieren. Das / habe ich vor product_info gepackt, damit er nicht auch bei Skripten greift deren Name mit product_info.php endet.
    Viele Grüße,
    Tekin Birdüzen - Zend Certified Engineer

    ia-solution

    • Neu im Forum
    • Beiträge: 16
    Re: htaccess Rewriterule
    Antwort #4 am: 04. September 2013, 09:46:56
    Danke für deine Antwort. Der Query-String spielt hier keine Rolle, da er in Verbindung mit der Datei products_info.php nicht auftaucht.

    Mit der Klammer an Anfang hast du natürlich recht.
    Die Änderung mit dem "/" vor der Datei habe ich übernommen.

    Danke nochmals.
    42 Antworten
    15030 Aufrufe
    15. August 2010, 21:19:06 von 0815
    2 Antworten
    1829 Aufrufe
    07. Juni 2014, 18:22:15 von dmun
    2 Antworten
    2856 Aufrufe
    24. Juni 2013, 00:35:03 von Ahaidee
    39 Antworten
    22710 Aufrufe
    04. April 2015, 17:09:14 von kostja984