Hallo, vor kurzen bin ich mit meinem Shop zu einem anderen Webspace-Provider umgezogen. Beim alten Webspace-Provider lief der Shop in einem Root-Ordner names '/shop'. Beim alten Webspace-Provider sahen in den beiden configure.php Dateien der document_root Parameter wie folgt aus: $t_document_root = '/var/www/vhosts/.......www49.hostkraft.de/shop/'; Nach dem Umzug zu dem neuen Webspace-Provider sieht in den beiden configure.php Dateien der document_root Parameter wie folgt aus: $t_document_root = '/var/customers/webs/Cover1/shop/'; Also beide document_root Parameter endend mit /shop. Der neue Shop läuft nach dem Umzug eigentlich wie er soll. Mit einer großen Einschränkung, die URL (bzw. ein Link) mit /shop nach der eigentlichen Domain führt zu einem 'nicht gefunden' Fehler. Siehe hier konkret den Fehler: (Link nur für registrierte Nutzer sichtbar.) Frage: Wie kommt der Fehler zustande? Was kann man dagegen tun? Dafür einen Eintrag in die .htaccess aufnehmen? Wenn ich die Seite (Link nur für registrierte Nutzer sichtbar.) richtig verstehe, dann wäre dieser Parameter für einen 'fehlenden Ordner' der richtige: RewriteRule ^ordner-mit-inhalten-ist-weg(.*)$ / [R=301,L] Ist die RewriteRule für das o.g. Problem die passende Lösung? Ist die RewriteRule ggf. noch anzupassen bzw. was muss ggf. für 'ordner-mit-inhalten-ist-weg' stattdessen 'eingesetzt' werden? Grüße Klaus
Du hast die Domain bei deinem neuen Hoster auf den Ordner "shop" gelegt, deshalb funktioniert das nciht. Wenn der shop unter Domain/shop gefunden werden soll, musst Du bei deinem Hoster die Domain auf das Rootverzeichnis (dahin wo der Ordner "shop" liegt) leiten.
Das was ich weiß und ausgetestet habe ist, dass es nicht ausreichend ist auf das Root-Verzeichnis /var/customers/webs/Cover1/ zu verweisen, sondern dass man schon auf den konkreten Unterordner verweisen muss: /var/customers/webs/Cover1/shop Dies liegt m.E. u.a. daran, dass unter /var/customers/webs/Cover1/ auch noch ein Unterordner names /werbalizer (für die entsprechende WERBALIZER-Software) liegt, so dass das System also schon wissen muss in welchem konkreten Unterordner sich der Gambio-Shop für seinen Aufruf befindet, also /shop.
Wenn Du die Domain (Link nur für registrierte Nutzer sichtbar.) auf den Ordner "shop" legst, kann der Shop nciht mehr mit (Link nur für registrierte Nutzer sichtbar.) aufgerufen werden, da im Ordner "shop" kein weiterer Ordern "shop" liegt. Wenn Du den Shop mit (Link nur für registrierte Nutzer sichtbar.) aufrufen möchtest, muss die Domain auf "Cover1" gelegt werden.
Am Unterordner-Namen selbst liegt es auch nicht.... Also, ob der Unterordner-Namen /shop oder z.B. /gambio-shop heißt, ist auch egal (wenn dies entsprechend in den configure.php-Dateien definiert ist), in beiden Fällen läuft der Shop im Allgemeinen. Der o.g. Fehler, dass bei der URL (Link nur für registrierte Nutzer sichtbar.) ein 'nicht gefunden' Fehler passiert, der passiert jedoch immer, egal ob der Unterordner-Namen für die Gambio-Software /shop oder z.B. /gambio-shop heißt. D.h. die Wahl Unterordner-Namens für die Gambio-Software hat auch keinen Einfluss darauf, dass bei der URL (Link nur für registrierte Nutzer sichtbar.) ein 'nicht gefunden' Fehler passiert... P.S: Das kuriose ist, dass es bei allen anderen URLs, egal wie unsinnig diese ggf. sein möchten, z.B. (Link nur für registrierte Nutzer sichtbar.) oder (Link nur für registrierte Nutzer sichtbar.) es keinen 'nicht gefunden' Fehler gibt...
Gerne, hier die .htaccess (in aufbereiteter Form): ## Gambio SEO Boost ## (Link nur für registrierte Nutzer sichtbar.) RewriteEngine on RewriteCond %{REQUEST_FILENAME} ^(.*)\.(php|css|js|gif|jpg|jpeg|png)$ [NC] RewriteRule ^(.+) - [L] RewriteCond %{REQUEST_URI} (.*)?/admin/(.*) RewriteRule ^(.+) - [L] RewriteCond %{REQUEST_URI} (.*)?/images/(.*) RewriteRule ^(.+) - [L] RewriteCond %{REQUEST_URI} (.*)?/templates/(.*) RewriteRule ^(.+) - [L] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.+) - [L] RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^(.+) - [L] RewriteCond %{REQUEST_FILENAME} -l RewriteRule ^(.+) - [L] ##boosted CONTENT RewriteRule (^[a-z]{2})/(.*/)?info/([A-Za-z0-9_-]+)\.html.* shop_content.php?language=$1&gm_boosted_content=$3&%{QUERY_STRING} [PT,L] RewriteRule (.*/)?info/([A-Za-z0-9_-]+)\.html.* shop_content.php?gm_boosted_content=$2&%{QUERY_STRING} [PT,L] ##boosted PRODUCTS RewriteRule (^[a-z]{2})/(.*/)?([A-Za-z0-9_-]+)\.html product_info.php?language=$1&gm_boosted_product=$3&%{QUERY_STRING} [PT,L] RewriteRule (.*/)?([A-Za-z0-9_-]+)\.html product_info.php?gm_boosted_product=$2&%{QUERY_STRING} [PT,L] ##boosted CATEGORIES RewriteRule (^[a-z]{2})/(.*/)?([A-Za-z0-9_-]+)/?.* index.php?language=$1&gm_boosted_category=$3&%{QUERY_STRING} [L] RewriteRule (.*/)?([A-Za-z0-9_-]+)/?.* index.php?gm_boosted_category=$2&%{QUERY_STRING} [L]
Du musst nicht die config Dateien ändern. Du musst das bei deinem Hoster ändern. Du hast deine URL (Link nur für registrierte Nutzer sichtbar.) auf /var/customers/webs/Cover1/shop geleitet. Wenn du deine URL wieder auf /var/customers/webs/Cover1/ änderst, kannst du deinen Shop wieder über (Link nur für registrierte Nutzer sichtbar.) aufrufen
Also, habe das entspr. ausprobiert: Wenn ich die URL (Link nur für registrierte Nutzer sichtbar.) (im Admin-Panel) auf /var/customers/webs/Cover1/ leite wird die ganze Seite (Link nur für registrierte Nutzer sichtbar.) nicht mehr gefunden... Denn da auf dem Server unter /var/customers/webs/Cover1 nicht nur die Shop-Software läuft, sondern auch noch die Software Werbalizer läuft, stehen die Shop-Software und die Software Werbalizer auf dem Server unter /var/customers/webs/Cover1/ in zwei getrennten Ordnern, damit die beiden Anwendungen voneinander getrennt sind... So steht die Software Werbalizer daher parallel neben dem Unterordner für die Shop-Software Gambio in dem eigenen Unterordner /werbalizer, also unter /var/customers/webs/Cover1/werbalizer. Daher muss m.E. die URL (Link nur für registrierte Nutzer sichtbar.) auf den konkreten Unterordner in dem sich die Shop-Software befindet verweisen und kann nicht einfach nur auf /var/customers/webs/Cover1/ verweisen....da sonst, wie schon gesagt, die ganze Webseite nicht mehr gefunden wird...
Um wegen dem Gesamtproblem bzw. wegen dem Unterordner /shop Klarheit zu schaffen, habe ich den Unterordner in dem Shop-Software läuft nun in /gambio_shopware umbenannt, so dass da kein Unterordner namens /shop mehr vorhanden ist. Die URL (Link nur für registrierte Nutzer sichtbar.) wird nun auf /var/customers/webs/Cover1/gambio_shopware geleitet. Die beiden configure-Dateien habe ich ebenfalls auf /var/customers/webs/Cover1/gambio_shopware geändert. Die URL (Link nur für registrierte Nutzer sichtbar.) ist damit im Allgemeinen aufrufbar. Jedoch führt die URL (Link nur für registrierte Nutzer sichtbar.) leider (nachwievor) zu dem o.g. 'nicht gefunden' Fehler... :-/ Aber wenigstens kann damit m.E. der Unterordner /shop als Fehlerquelle ausgeschlossen werden... ________________________________________________________________________________________________________________________________ P.S: Falls sich jemand fragt, warum mir speziell die URL (Link nur für registrierte Nutzer sichtbar.) so wichtig ist, so liegt das daran, dass ich genau mit dieser URL in einem großen Automagazin eine Printanzeige geschaltet habe... ;-)
Frage: Lässt sich das o.g. Problem nicht evtl. durch eine gezielte .htaccess-Weiterleitung lösen? Leider kenne ich mich mit .htaccess bisher nicht aus... Meine bisherigen Versuche die o.g. URL (Link nur für registrierte Nutzer sichtbar.) bzw. den 'Ordner' shop mittels .htaccess einfach auf die Eingangsseite des Shops umzuleiten brachten bisher leider keinen entsprechenden Erfolg. Nachfolgend meine drei Versuche: RewriteRule ^shop(.*)$ / [R=301,L] RewriteRule ^/shop(.*)$ / [R=301,L] RewriteRule ^/shop/(.*)$ / [R=301,L] Weiß vielleicht jemand wie der .htaccess-Parameter konkret aussehen muss, damit die URL (Link nur für registrierte Nutzer sichtbar.) einfach auf (Link nur für registrierte Nutzer sichtbar.) umgeleitet wird?
Ich werde mal versuchen das anders zu erklären: die URL (Link nur für registrierte Nutzer sichtbar.) führt direkt in den Ordner "gambio_shop" Dort sind die alle Ordner und Dateien, die der Shop hat. Rufst Du unter Deiner Domain die Datei "login.php" auf, landest Du auf "Anmelden" - Seite In dem Ordner "gambio_shop" hast Du aber keinen Ordner "shop" mehr, deshalb kann die Seite auch nicht gefunden werden.
Es stimmt, es gibt im Ordner "gambio_shopware" keinen Ordner "shop"... Es gibt aber genauso wenig im Ordner "gambio_shopware" einen Ordner "schneewittchen" oder einen Ordner "derboesewolf" Obwohl es also im Ordner "gambio_shopware" weder den Ordner "schneewittchen" noch den Ordner "derboesewolf" gibt führen weder die URL (Link nur für registrierte Nutzer sichtbar.) noch die URL (Link nur für registrierte Nutzer sichtbar.) zu einem 'nicht gefunden' Fehler...! Warum funktioniert also die URL (Link nur für registrierte Nutzer sichtbar.) und die URL (Link nur für registrierte Nutzer sichtbar.) während die URL (Link nur für registrierte Nutzer sichtbar.) zu einem 'nicht gefunden' Fehler führt...?!? Verstehe ich einfach nicht...
Poste doch mal bitte den oberen Teil (nicht die Datenbank-Angaben) Deiner admin/ includes/ configure.php und includes/ configure.php
Nachfolgend der obere Teil aus der admin/ includes/ configure.php Code: if(isset($_SERVER['DOCUMENT_ROOT'])) { $t_document_root = $_SERVER['DOCUMENT_ROOT'] . '/'; } elseif(!isset($_SERVER['DOCUMENT_ROOT']) && isset($_SERVER['SCRIPT_FILENAME']) && isset($_SERVER['SCRIPT_NAME'])) { $t_document_root = substr($_SERVER['SCRIPT_FILENAME'], 0, -strlen($_SERVER['SCRIPT_NAME'])) . '/'; } else { $t_document_root = '/var/customers/webs/Cover1/gambio_shopware'; // absolute server path required (domain root) } $t_document_root = realpath($t_document_root) . '/'; $t_document_root = str_replace('\\', '/', $t_document_root); if($t_document_root == '//') { $t_document_root = '/'; } $t_dir_fs_backend = dirname(dirname(__FILE__)); $t_dir_fs_frontend = dirname(dirname(dirname(__FILE__))); if(basename(dirname(__FILE__)) == 'local') { $t_dir_fs_backend = dirname($t_dir_fs_backend); $t_dir_fs_frontend = dirname($t_dir_fs_frontend); } $t_dir_fs_backend = str_replace('\\', '/', $t_dir_fs_backend) . '/'; $t_dir_fs_frontend = str_replace('\\', '/', $t_dir_fs_frontend) . '/'; $t_dir_ws_catalog = substr($t_dir_fs_frontend, strlen($t_document_root) - 1); // Define the webserver and path parameters // * DIR_FS_* = Filesystem directories (local/physical) // * DIR_WS_* = Webserver directories (virtual/URL) define('HTTP_SERVER', 'https://www.auto-car-cover.de'); // eg, http://localhost or - https://localhost should not be empty for productive servers define('HTTP_CATALOG_SERVER', 'https://www.auto-car-cover.de'); define('HTTPS_CATALOG_SERVER', 'https://www.auto-car-cover.de'); define('ENABLE_SSL_CATALOG', 'true'); // SSL: 'true' = active, 'false' = inactive define('DIR_FS_DOCUMENT_ROOT', $t_dir_fs_frontend); // where the pages are located on the server define('DIR_WS_ADMIN', $t_dir_ws_catalog . 'admin/'); // absolute url path required define('DIR_FS_ADMIN', $t_dir_fs_backend); // absolute server path required define('DIR_WS_CATALOG', $t_dir_ws_catalog); // absolute url path required define('DIR_FS_CATALOG', $t_dir_fs_frontend); // absolute server path required define('DIR_WS_IMAGES', 'images/'); define('DIR_FS_CATALOG_IMAGES', DIR_FS_CATALOG . 'images/'); define('DIR_FS_CATALOG_ORIGINAL_IMAGES', DIR_FS_CATALOG_IMAGES . 'product_images/original_images/'); define('DIR_FS_CATALOG_THUMBNAIL_IMAGES', DIR_FS_CATALOG_IMAGES . 'product_images/thumbnail_images/'); define('DIR_FS_CATALOG_INFO_IMAGES', DIR_FS_CATALOG_IMAGES . 'product_images/info_images/'); define('DIR_FS_CATALOG_POPUP_IMAGES', DIR_FS_CATALOG_IMAGES . 'product_images/popup_images/'); define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/'); define('DIR_WS_CATALOG_IMAGES', DIR_WS_CATALOG . 'images/'); define('DIR_WS_CATALOG_ORIGINAL_IMAGES', DIR_WS_CATALOG_IMAGES . 'product_images/original_images/'); define('DIR_WS_CATALOG_THUMBNAIL_IMAGES', DIR_WS_CATALOG_IMAGES . 'product_images/thumbnail_images/'); define('DIR_WS_CATALOG_INFO_IMAGES', DIR_WS_CATALOG_IMAGES . 'product_images/info_images/'); define('DIR_WS_CATALOG_POPUP_IMAGES', DIR_WS_CATALOG_IMAGES . 'product_images/popup_images/'); define('DIR_WS_INCLUDES', 'includes/'); define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/'); define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/'); define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/'); define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/'); define('DIR_WS_LANGUAGES', DIR_WS_CATALOG. 'lang/'); define('DIR_FS_LANGUAGES', DIR_FS_CATALOG. 'lang/'); define('DIR_FS_CATALOG_MODULES', DIR_FS_CATALOG . 'includes/modules/'); define('DIR_FS_BACKUP', DIR_FS_ADMIN . 'backups/'); define('DIR_FS_INC', DIR_FS_CATALOG . 'inc/'); [/code]
Und nachfolgend der obere Teil aus der includes/ configure.php: Code: if(isset($_SERVER['DOCUMENT_ROOT'])) { $t_document_root = $_SERVER['DOCUMENT_ROOT'] . '/'; } elseif(!isset($_SERVER['DOCUMENT_ROOT']) && isset($_SERVER['SCRIPT_FILENAME']) && isset($_SERVER['SCRIPT_NAME'])) { $t_document_root = substr($_SERVER['SCRIPT_FILENAME'], 0, -strlen($_SERVER['SCRIPT_NAME'])) . '/'; } else { $t_document_root = '/var/customers/webs/Cover1/gambio_shopware'; // absolute server path required (domain root) } $t_document_root = realpath($t_document_root) . '/'; $t_document_root = str_replace('\\', '/', $t_document_root); if($t_document_root == '//') { $t_document_root = '/'; } $t_dir_fs_frontend = dirname(dirname(__FILE__)); if(basename(dirname(__FILE__)) == 'local') { $t_dir_fs_frontend = dirname($t_dir_fs_frontend); } $t_dir_fs_frontend = str_replace('\\', '/', $t_dir_fs_frontend) . '/'; $t_dir_ws_catalog = substr($t_dir_fs_frontend, strlen($t_document_root) - 1); // Define the webserver and path parameters // * DIR_FS_* = Filesystem directories (local/physical) // * DIR_WS_* = Webserver directories (virtual/URL) define('HTTP_SERVER', 'https://www.auto-car-cover.de'); // eg, http://localhost - should not be empty for productive servers define('HTTPS_SERVER', 'https://www.auto-car-cover.de'); // eg, https://localhost - should not be empty for productive servers define('ENABLE_SSL', true); // SSL: true = active, false = inactive define('DIR_WS_CATALOG', $t_dir_ws_catalog); // absolute url path required define('DIR_FS_DOCUMENT_ROOT', $t_dir_fs_frontend); // absolute server path required define('DIR_FS_CATALOG', $t_dir_fs_frontend); // absolute server path required define('DIR_WS_IMAGES', 'images/'); define('DIR_WS_ORIGINAL_IMAGES', DIR_WS_IMAGES . 'product_images/original_images/'); define('DIR_WS_THUMBNAIL_IMAGES', DIR_WS_IMAGES . 'product_images/thumbnail_images/'); define('DIR_WS_INFO_IMAGES', DIR_WS_IMAGES . 'product_images/info_images/'); define('DIR_WS_POPUP_IMAGES', DIR_WS_IMAGES . 'product_images/popup_images/'); define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/'); define('DIR_WS_INCLUDES',DIR_FS_DOCUMENT_ROOT. 'includes/'); define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/'); define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/'); define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/'); define('DIR_WS_LANGUAGES', DIR_FS_CATALOG . 'lang/'); define('DIR_WS_DOWNLOAD_PUBLIC', DIR_WS_CATALOG . 'pub/'); define('DIR_FS_DOWNLOAD', DIR_FS_CATALOG . 'download/'); define('DIR_FS_DOWNLOAD_PUBLIC', DIR_FS_CATALOG . 'pub/'); define('DIR_FS_INC', DIR_FS_CATALOG . 'inc/');
Den Teil mit der URL hätte ich schon ganz gerne noch gesehen Du kannst Codeboxen für lange Texte nutzen (das kleine Kästchen mit dem +) dann muss man nciht so viel Scrollen.
Ok, habe den weiteren Code der beiden configure-Dateien noch in den beiden vorherigen Beiträgen (mittels Code-Boxen) ergänzt...
Das sieht normal aus. Eigentlich müsste bei allen aufrufen, die nicht existieren, eine 404-Fehlermeldung kommen. Warum /shop die 404 auswirft, alle anderen aber nicht ist mir gerade ein rätsel. configure scheinen ok, .htaccess auch. Ich habe gerade bei mir geschaut, da ist beim Pfad am Ende immer ein "/" Der fehlt bei Dir. $t_document_root = '/var/customers/webs/Cover1/gambio_shopware/'; Ich kann mir aber nciht vorstellen, dass es daran liegt. Hast Du nach dem Umzug mal die Ordner "cache" und "template_c" geleert? alles außer dem Unterordner, .htaccess und index.html aknn man löschen. Dateien die mit "sess..." anfangen, sollte man liegen lassen, damit man Kunden nicht auslogt
Dass es man "/" liegen soll, kann ich mir auch nicht vorstellen...denn warum sollte dies lediglich bei der URL (Link nur für registrierte Nutzer sichtbar.) zu einem 'nicht gefunden' Fehler führen, während es bei den URLs (Link nur für registrierte Nutzer sichtbar.) und (Link nur für registrierte Nutzer sichtbar.) zu keinem 'nicht gefunden' Fehler kommt..? Ja, die beiden Ordner "cache" und "template_c" habe ich nach dem Umzug schon mehrfach gelöscht... Die ESTUGO-Hotline meinte vor ein paar Tagen, dass damals, als der Gambio-Shop noch bei Estugo gehostet war und statt in dem Standardordner $t_document_root = '/var/www/vhosts/.......www49.hostkraft.de/httpdocs/gx2/'; in dem extra Sonderordner $t_document_root = '/var/www/vhosts/.......www49.hostkraft.de/shop/'; lag, dass dafür NUR die beiden configure-Dateien entsprechend angepasst wurden.... Mittlerweile glaube ich aber, damit der Gambio-Shop bei ESTUGO in dem extra Sonderordner $t_document_root = '/var/www/vhosts/.......www49.hostkraft.de/shop/'; aufgerufen werden konnte, NICHT NUR die beiden o.g. configure-Dateien entsprechend von ESTUGO angepasst wurden, sondern dass noch irgendwo anders dafür von ESTUGO an der Gambio-Software eine Änderung erfolgt ist.....die nun, nach dem Umzug zu dem neuen Hoster dort nicht mehr richtig funktioniert bzw. dadurch nun die URL-Ergänzung /shop irgendwohin falsch um-/hingeleitet wird... Habe aber leider Ahnung, wo diese weitere Stelle (an der Gambio-Software), die von ESTUGO wegen der /shop Ordner-Sache geändert worden sein könnte, zu suchen bzw. zu finden sein könnte... :-/