Shop in Unterverzeichnis /shop || Url ohne /shop gewünscht

Betrifft: Oxid CE :
Community Edition 4.6.5_49955

Hallo,

ich habe den Shop aus einem Unterveerzeichnis installiert.
Nun werde ich dieses Vrzeichnis nicht mehr los.

ein Aufruf im Browser von

[B][I]domain.de/[/I][/B] führt zur Startseite des Shops // alles ok

ein Klick auf CMS Seite
domain.de/cmsseite führt zu
[B][I]domain.de/shop/cmsseite[/I][/B]

oder Klick auf Produkt:
[B]domain.de/shop/produktseite[/B]

Es soll aber nur heißen:
[B]domain.de/produktseite[/B]

Also angezeigte URL soll ohne das Unterverzeichnis sein !

ich habe den Shop in einem Unterverzeichnis installiert, diese lautet
/shop

nun soll eine Domain “auf den Shop zeigen” hierzu erfolgt eine Weiterleitung aus dem Root zum Unterverzeichnis per .htaccess
(Ein direktes Mapping aus dem Hosting-Backend ist nicht möglich - Hoster: Profihost)

Kann mir jemand auf die Sprünge helfen, ich habe in der Forensuche zwar viele Threads gefunden und probiert, , aber keine Lösung funktionierte kotrrekt.

Inhalt der Datei:

RewriteEngine on
RewriteBase /
Options +FollowSymlinks
RewriteCond %{HTTP_HOST} domain.de$ [NC]
RewriteCond %{REQUEST_URI} !shop/
RewriteRule ^(.*)$ shop/$1 [L]

dann greift die .htaccess im Shop-Verzeichnis:
/shop/.htaccess
Inhalt:


<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /shop

RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]

RewriteCond %{REQUEST_URI} oxseo\.php$
RewriteCond %{QUERY_STRING} mod_rewrite_module_is=off
RewriteRule oxseo\.php$ oxseo.php?mod_rewrite_module_is=on [L]

RewriteCond %{REQUEST_URI} !(\/admin\/|\/core\/|\/export\/|\/modules\/|\/out\/|\/setup\/|\/tmp\/|\/views\/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !(\.html|\/|\.jpg|\.css|\.pdf|\.doc|\.gif|\.png|\.js|\.htc)$ %{REQUEST_URI}/ [R=301,L]

RewriteCond %{REQUEST_URI} !(\/admin\/|\/core\/|\/export\/|\/modules\/|\/out\/|\/setup\/|\/tmp\/|\/views\/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (\.html|\/)$ oxseo.php


RewriteCond %{REQUEST_URI} (\/out\/pictures\/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (\.jpe?g|\.gif|\.png)$ core/utils/getimg.php

</IfModule>

# disabling log file access from outside
<FilesMatch "(EXCEPTION_LOG\.txt|\.log$|\.tpl$|pkg\.rev)">
order allow,deny
deny from all
</FilesMatch>

Options -Indexes
DirectoryIndex index.php index.html

hier Ausschnitt aus der config.inc:

 /** @name database information */
        $this->dbHost = 'localhost'; // database host name
        $this->dbName = 'usrdb; // database name
        $this->dbUser = 'user1'; // database user name
        $this->dbPwd = 'XXX'; // database user password
        $this->dbType = 'mysql';
        $this->sShopURL = 'http://domain.de/shop'; // eShop base url, required
        $this->sSSLShopURL  = null;            // eShop SSL url, optional
        $this->sAdminSSLURL = null;            // eShop Admin SSL url, optional
        $this->sShopDir = '/home/user/www.domas.de/liveshop1';
        $this->sCompileDir = '/home/user/www.domain.de/shop1/tmp';

wenn ich obige Datei ändere auf:
[B] $this->sShopURL = ‘http://domain.de/shop’; // eShop base url, required[/B]

erscheint die Startseite zwar korrekt; also:
domain.de/

Aber sämtliche Links funktionieren nicht mehr,
z.B.
domain.de/cmsseite
domain.de/produktseite

Die Links sind eigentlich korrekt, treffen aber nun keine Inhalte.

Ja ich habe:
Tmp-Verzeichnis gelöscht
Browser Cache gelöscht
Views aktualisiert
Seo-Urls erneuert

VG

Hallo neurobit

Wenn alle Shopdaten hier liegen:

/home/user/www.domas.de/

Dann wäre es am einfachsten und so richtig:

htaccess:

RewriteEngine on
RewriteBase /

config.inc.php:

$this->sShopURL = ‘http://domain.de’; // eShop base url, required
$this->sSSLShopURL = null; // eShop SSL url, optional
$this->sAdminSSLURL = null; // eShop Admin SSL url, optional
$this->sShopDir = ‘/home/user/www.domas.de’;
$this->sCompileDir = ‘/home/user/www.domain.de/tmp’;

Vielleicht in Deinem Beitrag Zugangsdaten zur DB rausnehmen?

[QUOTE=musicgate;106742]Hallo neurobit

Wenn alle Shopdaten hier liegen:

/home/user/www.domas.de/

Dann wäre es am einfachsten und so richtig:

htaccess:

config.inc.php:

Vielleicht in Deinem Beitrag Zugangsdaten zur DB rausnehmen?[/QUOTE]

Danke für den Hinweis und Dank @Hebsacker fürs editieren!
War wohl ein Ausdruck der Verzweiflung & der geistigen Umnachtung von mir :slight_smile:
wenn man sich erstmal verirrt hat…

zum Thema:
o.a. Lösung funktioniert bei mir leider nicht, Admin ist nicht aufrufbar.
Kann evtl. nochmal jemand klar ergänzen, was hier [B]genau [/B]rein muss:

$this->sShopURL = ‘???’; // eShop base url, required
$this->sSSLShopURL = null; // eShop SSL url, optional
$this->sAdminSSLURL = null; // eShop Admin SSL url, optional
$this->sShopDir = ‘???’;
$this->sCompileDir = ‘???’;

Vielleicht postest Du mal was aktuell drin steht?

unterscheidet sich das hier wirklich, oder war das ein Versehen?

$this->sShopDir = ‘/home/user/www.domain.de/liveshop1’;
$this->sCompileDir = ‘/home/user/www.domain.de/shop1/tmp’;

Irgendwie etwas konfus in deinem Post #1, htaccess leitet nach /shop, Shopdateien liegen in /liveshop1, und tmp Verzeichnis ist in /shop1/tmp?
Das mit dem htaccess-rewrite vom root würde ich lassen, verschiebe die Shopdateien incl. der Shop htaccess in dein www-root (/home/user/www.domas.de/). Was dann genau in htaccess und config.inc drinstehen muss hat Fredi schon geschrieben. Der tmp-Ordner muss nach Änderungen geleert werden.

ok, ich entschuldige mich für die Konfusion, der 1. Post hier im Forum und dann gleich so wirres Zeug sorry dafür

Um dem Wirrwarr ein Ende zu bereiten würde ich den Shop vom Unterverzeichnis in das Root Verzeichnis verschieben um auf die Weiterleitung verzichten zu können.

dann folgende Änderungen in der config.inc vornehmen?

    $this-&gt;sShopURL = 'http://domain.de'; // eShop base url, required
    $this-&gt;sSSLShopURL  = null;            // eShop SSL url, optional
    $this-&gt;sAdminSSLURL = null;            // eShop Admin SSL url, optional
    $this-&gt;sShopDir = dirname(__FILE__);
    $this-&gt;sCompileDir = dirname(__FILE__) . '/tmp';

und in der ".htaccess"
RewriteBase /

danach Tmp-Verzeichnis löschen
Browser Cache löschen
Views aktualisieren
Seo-Urls erneuern

Reicht das und ist das korrekt?

sollte passen

Views aktualisieren
Seo-Urls erneuern

Imho nicht notwendig denn die Views wissen nichts von Pfaden und SEO-Urls sind relativ.

bin wie oben beschrieben vorgegangen:
Shop-dateien per ftp verschoben
Änderungen in der config.inc vorngenommen:

$this->sShopURL = ‘http://domain.de’; // eShop base url, required
$this->sSSLShopURL = null; // eShop SSL url, optional
$this->sAdminSSLURL = null; // eShop Admin SSL url, optional
$this->sShopDir = dirname(FILE);
$this->sCompileDir = dirname(FILE) . ‘/tmp’;

und in der “.htaccess” eingetragen:
RewriteBase /

danach Tmp-Verzeichnis gelöscht,
Browser Cache gelöscht
Seo-Urls & Views erneuert

Funktioniert wie gewünscht - URL´s u. Links alles prima
aber
die Produktbilder werden nicht gefunden und es erscheint entsprechend das “nopic” Bild - komischerweise bei ca. 90 % der Artikel.

wird der Pfad für die Artikelbilder irgendwo “fest” hinterlegt ?

Eigentlich nicht, schau doch mal in der DB was bei den Artikeln drinsteht und ob die Bilder im master-Ordner vorhanden sind (also z.B. in master/product/1 beim 1. Bild).
Vielleicht fehlende Berechtigungen für einen Bildordner, /out/pictures/ und Unterordner sollten 777 haben.

Yipi nun funktioniert alles wie gewünscht!

ich habe
[ol]
[li]die oxv_ Tabellen gelöscht
[/li][li]alle Dateien nochmals per ftp übertragen (genauso wie beim 1. Mal)
[/li][/ol]
werde für mich nochmal versuchen das nachzustellen, aber jetzt funktioniert´s erstmal!

Danke an alle für den geduldigen Support!