• Hallo,

    ich habe nun eine elendslange Liste an Urls (Migration von anderem Shopsystem) die ich gerne per 301 weiterleiten würde, wenn wir mit commerce:seo nächste Woche live gehen.

    Ich habe einfach mal die ganz ordinäre redirect 301 /alter/ordner http://ww.domain.de/neuer/ordner/ (die alten urls hatten kein backslash am ende) verwendet.

    Die Liste habe ich unten in die .htaccess eingefügt.

    Mit Google bspw. funktioniert es, jedoch hängt er an die URL am Ende immer den String ?linkurl=/alter/ordner
    Im Shop selbst ergibt das jedoch einen 404 Error, da er versucht http://ww.domain.de/neuer/ordner/?linkurl=/alter/ordner aufzurufen.

    Ist das Problem bekannt? Hat es schon jemand gelöst? Ich konnte in beiden Foren keine Hinweise finden.

    Vielen Dank!

  • So, ein wenig weiter bin ich mit meiner Recherche gekommen.
    Der Suffix ?linkurl= wird durch

    RewriteRule ^(.*)$ commerce_seo_url.php?linkurl=$1 [qsappend,L]

    erzeugt.
    Ich gehe davon aus das com:seo qsappend benötigt um korrekt zu funktionieren, also bleibt eigentlich nur eine Regel vor dieser Zeile mit a la

    RewriteRule ^alt/(.*) http://example.com/neu/$1/ [L,301]

    Doch hier bekomme ich einen 500 Error.

    :confused:

  • Wieder einen Schritt weiter...

    Apache Configuration
    RewriteRule ^kat1/subkat1/(.*) http://dev.domain.de/kat2/subkat2$1/ [QSA,R=301,L]

    klappt für mich. Die Regel muss aber vor den qsappend Regeln angewendet werden.

    Nur die Produkturls wollen noch nicht so...

  • Die Lösung:

    Katgorieurls

    Apache Configuration
    RewriteRule ^/maincat/subcat/? http://domain.de/neuemaincat/neuesubcat/ [R=301,L]

    Produkturls

    Apache Configuration
    RewriteRule ^maincat/subcat/produkturl/?$ http://domain.de/neuemaincat/neuesubcat/produkturl.html [R=301,L]

    Die URL-Sammlung dann unter

    Apache Configuration
    RewriteRule (.*) http://%{HTTP_HOST}/$1/ [R=301,L]

    einfügen.

  • Schön, dass Du dich selbst erklärst :) Aber Ordner (Kategorien) ohne "/" werden doch schon automatisch auf mit "/" umgeleitet. Nur wenn der alte Ordner anders heißt, sollte man die Rewrite Regeln einsetzen.

    <p>Wir geben nur Anregungen und Hilfestellung auf Basis unserer Erfahrung, keine Rechtshilfe!<br>\m/('_')\m/</p>

  • Ja, danke für die Ergänzung! Aber bei uns hießen die alten Subkats ja alle anders...
    Erklärt habe ich mich, damit andere die vor dem gleichen Problem stehen, die Antwort hier finden können und du nicht ran musst ;)

  • Hallo,
    ich versuche eine alte Kategorie samt allen Produkten auf die neue mit redirect 301 in der htaccess umzuleiten. Leider bekomme ich das nicht in griff. Kann mir jemand sagen wie ich das umsetzen kann?
    Ich habe bereits alle Möglichkeiten ausprobiert.

  • Hallo Markus,

    Ich kan dir wahrscheinlich nicht behilflich sein

    Aber mehr info brauch man dazu denke ich so.

    Wie welche versionen und fixpacks, dan welches einstelungen beim SEOurl und ja oder nein Sprachen.
    Ja oder nein www, ja oder nein subdomain, ja oder nein Unterverzeichnis, ja oder nein SSL.

  • Hi Jotest,

    also Shop ist auf dem neustem Stand. incl fixpack11. Sprache ist nur DE.
    Seo Url Einstellungen:
    [ATTACH=CONFIG]211[/ATTACH]
    Also ich möchte eine URL ändern die bereits in den Google Top 5 ist diese umbenennen und mit redirect 301 weiterleiten das klappt einfach nicht egal was ich mache.

    Vielleicht hast Du eine Idee??

  • gehts dir nur um die eine URL oder sollen eine Reihe von URL weitergeleitet werden nach einem Muster?

    die beiden URLs (quelle u. ziel) würden helfen, Einstellungen am seo urlmodul dürften fast egal sein.

  • OK aber einstellungen sind mit Sprache.

    Für einzele links sollte so etwas Reichen
    Also wen Du es Zuweit nach unten macht in den htacces also nach den seo rewrite sachen werdet es daneben gehen!

    Zitat

    RewriteCond %{HTTP_HOST} !^localhost(.*)$ [NC]
    RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301,L]
    Hierunten habe ich dieser
    RewriteRule ^en/alt.html http://www.onlineshop.de/en/neues.html [L,R=301]
    RewriteRule ^de/altes.html http://www.onlineshop.de/de/neues.html [L,R=301]

  • Einstellungen am seo urlmodul dürften fast egal sein.


    Yep aber habe selbe Probs gehabt mit links mit den Spracheinstellungen anders, dan vorher.
    Deswegen die Frage, und auch teilweise ob es naturlich dieser benuzt werdet weil, dan muss man wirklich beachten den 301 vor den SEOURL teilen in htaccess zu machen

  • Hi, habe hier ca.400 Artikel die ich umleiten möchte.
    Bekomme aber immer einen 404 Fehler.

    Habe diese Zeile zum Testen eingefügt, auch schon an mehreren Stellen probiert. Hab da wohl auch nicht den richtigen Durchblick.
    #301 Weiterleitung Dynojet
    RewriteRule /dynojet/powercommander-v/aprilia/1000/powercommander-v-aprilia-rsv1000-mille-04-10-10-003.html https://www.motorradtechnik-engelmann.de/dynojet/powerc…pcv-10-003.html [L,R=301]

    Finde einfach den keinen Fehler. Wo gehören denn die Weiterleitungen hin?


    ----------------------------------------------------------------------
    # UTF-8 encoding
    # ----------------------------------------------------------------------

    # Use UTF-8 encoding for anything served text/plain or text/html
    AddDefaultCharset utf-8

    # Force UTF-8 for a number of file formats
    AddCharset utf-8 .html .css .js .xml .json .rss .atom

    # Wenn Sie [lexicon]1und1[/lexicon] benutzen, setzen Sie die nächsten beiden Zeilen aktiv (Einschalten PHP5.4) Bei [lexicon]1und1[/lexicon] sollte weiter unten der Punkt RewriteBase / auch auskommentiert werden
    AddHandler x-mapp-php6 .php3 .php4 .php .phtml

    # ----------------------------------------------------------------------
    # Expires headers (for better cache control)
    # ----------------------------------------------------------------------

    <IfModule mod_expires.c>
    ExpiresActive on

    # Perhaps better to whitelist expires rules? Perhaps.
    ExpiresDefault "access plus 1 month"

    ExpiresByType text/cache-manifest "access plus 0 seconds"
    ExpiresByType text/html "access plus 0 seconds"
    ExpiresByType text/xml "access plus 0 seconds"
    ExpiresByType application/xml "access plus 0 seconds"
    ExpiresByType application/json "access plus 0 seconds"
    ExpiresByType application/rss+xml "access plus 1 hour"
    ExpiresByType application/atom+xml "access plus 1 hour"
    ExpiresByType image/x-icon "access plus 1 week"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType video/ogg "access plus 1 month"
    ExpiresByType audio/ogg "access plus 1 month"
    ExpiresByType video/mp4 "access plus 1 month"
    ExpiresByType video/webm "access plus 1 month"
    ExpiresByType text/x-component "access plus 1 month"
    ExpiresByType font/truetype "access plus 1 month"
    ExpiresByType font/opentype "access plus 1 month"
    ExpiresByType application/x-font-woff "access plus 1 month"
    ExpiresByType image/svg+xml "access plus 1 month"
    ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
    ExpiresByType text/css "access plus 1 year"
    ExpiresByType application/javascript "access plus 1 year"
    ExpiresByType application/x-javascript "access plus 1 year"


    <IfModule mod_headers.c>
    Header append Cache-Control "public"
    </IfModule>

    </IfModule>

    # BEGIN Cache-Control Headers
    <ifmodule mod_headers.c>
    <filesmatch "\\.(ico|jpe?g|png|gif|swf)$">
    Header set Cache-Control "max-age=31536000, public"
    </filesmatch>
    <filesmatch "\\.(css)$">
    Header set Cache-Control "max-age=31536000, public"
    </filesmatch>
    <filesmatch "\\.(js)$">
    Header set Cache-Control "max-age=31536000, public"
    </filesmatch>
    <filesmatch "\\.(jgz)$">
    Header set Cache-Control "max-age=31536000, public"
    </filesmatch>
    <filesmatch "\\.(ico)$">
    Header set Cache-Control "max-age=31536000, public"
    </filesmatch>
    <filesmatch "\\.(html)$">
    Header set Cache-Control "max-age=31536000, public"
    </filesmatch>
    Header unset ETag
    <filesmatch "\.(js|css|xml|gz|jgz)$">
    Header append Vary: Accept-Encoding
    </filesmatch>
    </ifmodule>

    <ifmodule mod_deflate.c>
    <filesmatch "\\.(js|css|html|htm|php|xml)$">
    SetOutputFilter DEFLATE
    </filesmatch>
    </ifmodule>

    # ----------------------------------------------------------------------
    # Gzip compression
    # ----------------------------------------------------------------------

    <IfModule mod_deflate.c>

    # Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
    <IfModule mod_setenvif.c>
    <IfModule mod_headers.c>
    SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
    RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
    </IfModule>
    </IfModule>
    </IfModule>

    # HTML, TXT, CSS, JavaScript, JSON, XML, HTC:
    <IfModule filter_module>
    FilterDeclare COMPRESS
    FilterProvider COMPRESS DEFLATE resp=Content-Type $text/html
    FilterProvider COMPRESS DEFLATE resp=Content-Type $text/css
    FilterProvider COMPRESS DEFLATE resp=Content-Type $text/plain
    FilterProvider COMPRESS DEFLATE resp=Content-Type $text/xml
    FilterProvider COMPRESS DEFLATE resp=Content-Type $text/x-component
    FilterProvider COMPRESS DEFLATE resp=Content-Type $application/javascript
    FilterProvider COMPRESS DEFLATE resp=Content-Type $application/json
    FilterProvider COMPRESS DEFLATE resp=Content-Type $application/xml
    FilterProvider COMPRESS DEFLATE resp=Content-Type $application/xhtml+xml
    FilterProvider COMPRESS DEFLATE resp=Content-Type $application/rss+xml
    FilterProvider COMPRESS DEFLATE resp=Content-Type $application/atom+xml
    FilterProvider COMPRESS DEFLATE resp=Content-Type $application/vnd.ms-fontobject
    FilterProvider COMPRESS DEFLATE resp=Content-Type $image/svg+xml
    FilterProvider COMPRESS DEFLATE resp=Content-Type $application/x-font-ttf
    FilterProvider COMPRESS DEFLATE resp=Content-Type $font/opentype
    FilterChain COMPRESS
    FilterProtocol COMPRESS DEFLATE change=yes;byteranges=no
    </IfModule>

    # ----------------------------------------------------------------------
    # ETag removal
    # ----------------------------------------------------------------------

    # developer.yahoo.com/performance/rules.html#etags
    FileETag None

    # Zusatzparameter PHP
    #php_flag zlib.output_compression On

    # Dateiauflisting unterbinden
    Options -Indexes

    # Kommentieren Sie diese Zeile aus, wenn Sie einen Fehler 500 (Internal Server Error) erhalten
    #Options +FollowSymlinks

    <IfModule mod_rewrite.c>
    RewriteEngine On
    # Bilder durch jagen
    #RewriteCond %{REQUEST_URI} !assets
    #RewriteCond %{REQUEST_URI} !ai-cache
    #RewriteRule \.(?:jpe?g|gif|png)$ adaptive-images.php

    # Javascripte gezip ausliefern

    RewriteCond %{HTTP:Accept-Encoding} gzip
    RewriteCond %{REQUEST_FILENAME}.jgz -f
    RewriteRule (.*)\.js$ $1\.js.jgz [L]
    AddType "text/javascript" .js.jgz
    AddEncoding gzip .jgz

    #Sicherheit
    ## Begin - Rewrite rules to block out some common exploits.
    # If you experience problems on your site block out the operations listed below
    # Block out any script trying to base64_encode data within the URL.
    RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
    # Block out any script that includes a <script> tag in URL.
    RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
    # Block out any script trying to set a PHP GLOBALS variable via URL.
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    # Block out any script trying to modify a _REQUEST variable via URL.
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    # Return 403 Forbidden header and show the content of the root homepage
    RewriteRule .* index.php [F]
    #
    ## End - Rewrite rules to block out some common exploits.
    # Port Scanner
    RewriteCond %{HTTP_USER_AGENT} ^w00tw00t.at.ISC.SANS.DFind
    RewriteRule ^.*$ 403.php [L]

    # Spambots nach User_agent aussperren

    RewriteCond %{HTTP_USER_AGENT} ^.*Whacker.*$ [OR]
    RewriteCond %{HTTP_USER_AGENT} ^EmailCollector [OR]
    RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
    RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]
    RewriteCond %{HTTP_USER_AGENT} ^.*FileHound.*$ [OR]
    RewriteCond %{HTTP_USER_AGENT} ^.*TurnitinBot.*$ [OR]
    RewriteCond %{HTTP_USER_AGENT} ^.*JoBo.*$ [OR]
    RewriteCond %{HTTP_USER_AGENT} ^.*AhrefsBot.*$ [OR]
    RewriteCond %{HTTP_USER_AGENT} ^.*MJ12bot.*$ [OR]
    RewriteCond %{HTTP_USER_AGENT} ^.*adressendeutschland.*$

    RewriteRule ^.* - [F]

    # sitemap.xml auf Dynamische umleiten
    RewriteRule ^(.*)sitemap.xml$ sitemap-xml.php [qsappend,L]

    Options +SymLinksIfOwnerMatch

    # Umleitung auf Adresse mit www, wenn www fehlt und nicht Subdomain und nicht localhost und nicht ssl.webpack.de
    RewriteCond %{HTTP:X-Forwarded-Server} !^ssl\.webpack\.de$ [NC]
    RewriteCond %{HTTP:X-Forwarded-Server} !^sslsites\.de$ [NC]
    RewriteCond %{HTTP_HOST} !^www\..* [NC]
    RewriteCond %{HTTP_HOST} !^.*\..*\..* [NC]
    RewriteCond %{HTTP_HOST} !^localhost(.*)$ [NC]
    RewriteRule ^(.*) http://www.%{HTTP_HOST}/$1 [R=301,L]

    #301 Weiterleitung Dynojet
    RewriteRule /dynojet/powercommander-v/aprilia/1000/powercommander-v-aprilia-rsv1000-mille-04-10-10-003.html https://www.motorradtechnik-engelmann.de/dynojet/powerc…pcv-10-003.html [L,R=301]

  • hier der Rest:
    ###################################################################################################
    ######## Shopstat - URL Format --- by Webdesign Erfurt
    ########

    ##-- Kategorien
    RewriteCond %{REQUEST_URI} (.*)---([_0-9]+)-([_0-9]+)\.html$
    RewriteRule (.*)---([_0-9]+)-([_0-9]+)\.html$ index.php?cPath=$2&page=$3 [qsappend,L]

    RewriteCond %{REQUEST_URI} (.*)---([_0-9]+)\.html$
    RewriteRule (.*)---([_0-9]+)\.html$ index.php?cPath=$2 [qsappend,L]

    ##-- Produkte
    RewriteRule (.*)--(.+)\.html$ product_info.php?products_id=$2 [qsappend,L]

    ##-- Content
    RewriteRule (.*)-_-([0-9]+)\.html$ shop_content.php?coID=$2 [qsappend,L]

    ########
    ########
    ####################################################################################################

    ###################################################################################################
    ######## Shopstat - URL Format ::: by Shopstat
    ########

    ##-- Kategorien
    RewriteCond %{REQUEST_URI} (.*):::([_0-9]+)-([_0-9]+)\.html$
    RewriteRule (.*):::([_0-9]+)-([_0-9]+)\.html$ index.php?cPath=$2&page=$3 [qsappend,L]

    RewriteCond %{REQUEST_URI} (.*):::([_0-9]+)\.html$
    RewriteRule (.*):::([_0-9]+)\.html$ index.php?cPath=$2 [qsappend,L]

    ##-- Produkte
    RewriteRule (.*)::(.+)\.html$ product_info.php?products_id=$2 [qsappend,L]

    ##-- Content
    RewriteRule (.*):_:([0-9]+)\.html$ shop_content.php?coID=$2 [qsappend,L]

    ########
    ########
    ####################################################################################################

    # immer auf den root verweisen, damit die Startseite (/index.php) nicht zweimal vorkommt
    # die folgenden beiden Zeilen auskommentieren wenn Sie eine index.html nutzen wollen
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(html?|php)\ HTTP/
    RewriteRule ^index\.(html?|php)$ http://%{HTTP_HOST}/ [R=301,L]

    # Editieren Sie die untenstehende Zeile wenn ihr Shop in einem [lexicon]Unterordner[/lexicon] läuft.
    # Aber auch wenn Sie einen Fehler 500 (Internal Server Error) bekommen.
    # Beispiel: Ist ihr Shop im Verzeichnis http://www.domain.de/shop ändern Sie die Zeile wie folgt: "RewriteBase /shop/"
    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d

    RewriteRule ^(.+) - [PT,L]

    # Alte Kategorien ohne Slash umleiten auf mit slash / Raute in den 4 Zeilen entfernen
    #RewriteCond %{REQUEST_URI} !(.*)/$
    #RewriteCond %{REQUEST_URI} !\..+$
    #RewriteCond %{REQUEST_URI} !/$
    #RewriteRule (.*) http://%{HTTP_HOST}/$1/ [R=301,L]

    RewriteRule ^(.*)(.+)404.php$ 404.php [qsappend,L]

    RewriteRule ^(.*)tag/(.*([a-zßöüäA-ZÖÜÄ0-9]))/$ taglisting.php?tag=$1$2 [qsappend,L]
    RewriteRule ^(.*)hashtag/(.*([a-zßöüäA-ZÖÜÄ0-9]))$ hashtags.php?hashtags=$1$2 [qsappend,L]
    RewriteRule ^(.*)keywords/(.*([a-zßöüäA-ZÖÜÄ0-9]))$ advanced_search_result.php?keywords=$1$2 [qsappend,L]
    RewriteRule ^(.*)manufacturer-(.*[0-9])/(.*([a-zßöüäA-ZÖÜÄ0-9]))$ index.php?manufacturers_id=$2 [qsappend,L]
    RewriteRule ^(.*)review-(.*[0-9])/(.*([a-zßöüäA-ZÖÜÄ0-9]))$ product_reviews_info.php?reviews_id=$2 [qsappend,L]
    #RewriteRule ^(.*)(.+)\.html(.*)$ commerce_seo_url.php?linkurl=$1$2$3 [qsappend,L]
    RewriteCond %{REQUEST_FILENAME} !\.html$ [OR]
    RewriteCond %{REQUEST_FILENAME} !\.php$ [OR]
    RewriteRule ^(.*)$ commerce_seo_url.php?linkurl=$1 [qsappend,L]
    </IfModule>
    ErrorDocument 404 /404.php
    ErrorDocument 403 /403.php
    #Umleitung zu https in den configs http server zu https
    RewriteCond %{SERVER_PORT} !=443
    RewriteRule ^(.*)$ https://www.motorradtechnik-engelmann.de/$1 [R=301,L]

  • Shopversion 2.6.1
    Wo kann ich Umleitungen in den Hilfsprogrammen definieren?

    Hilfsprogramme
    Newsletter Produkte
    CSS Buttons
    Boxen Manager
    News Ticker
    Mailbeez
    Newsletter
    Content Manager
    Blog Manager
    Backup Manager
    Banner Manager
    Server Info
    CSV Import/Export
    SQL Tool
    Google Sitemap
    Erweiterter Import/Export
    Cache leeren
    Slider Manager
    alte Bilder löschen
    Bilder neu erstellen

    In der .[lexicon]htaccess[/lexicon] habe ich das am Ende angefügt:
    Redirect 301 /dynojet/powercommander-pciiiusb/aprilia/1000/dynojet-powercommander-pciiiusb-aprilia-rsv1000-mille-04-10-908-411.html https://www.motorradtechnik-engelmann.de/dynojet/powerc…pcv-10-003.html
    Gibt auch eine 404 Meldung

  • Sorry, bei 2.6.1 ist es unter Einstellungen! > Umleitungen definieren

    Bitte beachten ... Der Shop scheint auf einem sehr langsamen Server zu sein .... Weiter keine SSL Verschlüsselung, hier ist Handlungsbedarf!

    Welche PHP Version verwendet der Server?