Jump to content

[VYŘEŠENO] Nezobrazují se obrázky v PS 1.6 umístěném na subdoméně


Trampino

Recommended Posts

Dobrý den,

na subdoménu test.eknihkupec.cz jsem si pomocí tohoto postupu http://doc.prestashop.com/display/PS16/Manual+update udělal kopii svého eshopu ve vyšší verzi 1.6 (přecházím z 1.4.8). Z ostré verze jsem použil jen databázi a adresář img . Vše ostatní jsem nechal z instalačního balíčku PS 1.6.

Obrázky mám v nové adresářové struktuře, mají správná jména obsahující prefix default a přegeneroval jsem .htaccess.

 

URL odkazů na stránky detailu produktů i jiné odkazy normálně fungují. Včetně obrázků z defaultní šablony.
Vůbec se ale nezobrazují obrázky k produktům. Přitom tam určitě jsou. Když vezmu z HTML kódu FrontPage odkaz na nějaký konkrétní obrázek (např.: http://test.eknihkupec.cz/img/p/1/0/4/5/1045-small_default.jpg) tak mi to vrátí chybu 404. Když ale to url obrázku zadám takhle http://test.eknihkupec.cz/subdom/test/img/p/1/0/4/5/1045-small_default.jpg , tak se zobrazí.

 

Zkoušel jsem i nastavit všem obrázkům CHMOD na 777, ale nepomohlo to.

Zkoušel jsem i promazat cash prestashopu a samozřejmě i cash u mě na lokále v prohlížeči, ale taky to nepomohlo.

 

Možná je chyba v .htaccess který je v adresáři produkčního shopu ve /www/ a nebo je chyba v .htaccess toho testovacího shopu ve /www/subdom/test/ . Ale nevím jaká. Návíc si nejsem jistý že je to právě problém .htaccess, protože jak už jsem psal ostatní URL v rámci toho testiovacího webu (například odkazy na detaily produktů) fungují správně.

 

 

Nesetkal jste se s tím už někdy někdo?

Edited by Trampino (see edit history)
Link to comment
Share on other sites

Zkuste si do htaccess souboru na tom testovacím eshopu dopsat nebo upravit parametr RewriteBase /subdomena/ (respektive se to chova jako slozka protoze subdomenu máte test.vasedomena.xy nebo tam zapiste jen / ) Dále si zkontrolujte jestli jak v DB tak v souborech v /config figuruje správna url cesta tj taková kde je test.vasedomena.xy/slozkaeshopu/.

Link to comment
Share on other sites

nevím jestli to bude nastavením v settings a v databázi. Protože kromě těch obrázků k produktům, vše ostatní funguje správně.

 

v settings.inc.php mám

define('_PS_DIRECTORY_', '/');

 

v databázi mám toto:

v psprefix_configuration mám toto

CANONICAL_URL = eknihkupec.cz

__PS_BASE_URI__ = /
PS_SHOP_DOMAIN = test.eknihkupec.cz
PS_SHOP_DOMAIN_SSL = test.eknihkupec.cz

 

v psprefix_shop_url mám toto

domain = test.eknihkupec.cz

domain_ssl = test.eknihkupec.cz

physical_uri = /

virtual_uri je prázdné

 

na té subdoméně ve www/subdom/test/ mám .htaccess následujíc obsah

# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# http://www.prestashop.com - http://www.prestashop.com/forums

<IfModule mod_rewrite.c>
<IfModule mod_env.c>
SetEnv HTTP_MOD_REWRITE On
</IfModule>

RewriteEngine on
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

# AlphaImageLoader for IE and fancybox
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]
</IfModule>

AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType font/otf .otf
AddType application/x-font-woff .woff

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType text/javascript "access plus 1 week"
    ExpiresByType application/javascript "access plus 1 week"
    ExpiresByType application/x-javascript "access plus 1 week"
    ExpiresByType image/x-icon "access plus 1 year"
    ExpiresByType image/svg+xml "access plus 1 year"
    ExpiresByType image/vnd.microsoft.icon "access plus 1 year"
    ExpiresByType application/font-woff "access plus 1 year"
    ExpiresByType application/x-font-woff "access plus 1 year"
    ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
    ExpiresByType font/opentype "access plus 1 year"
    ExpiresByType font/ttf "access plus 1 year"
    ExpiresByType font/otf "access plus 1 year"
    ExpiresByType application/x-font-ttf "access plus 1 year"
    ExpiresByType application/x-font-otf "access plus 1 year"
</IfModule>

<IfModule mod_headers.c>
    Header unset Etag
</IfModule>
FileETag none
<IfModule mod_deflate.c>
    <IfModule mod_filter.c>
        AddOutputFilterByType DEFLATE text/html text/css text/javascript application/javascript application/x-javascript
    </IfModule>
</IfModule>

#If rewrite mod isn't enabled
ErrorDocument 404 /index.php?controller=404

# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again

 

 

.htaccess je také v adresáři www/subdom/test/config ale je v něm jen toto

Order deny,allow
Deny from all

 

plus mám samozřejmě .htaccess i v tom ostrém eshopu v rámci hlavního adresáře /www/

v něm je toto

# htaccess rules for subdomains and aliases
# to create new subdomain, create a folder www/subdom/(subdomain name)
# to create web for alias, create a folder www/domains/(whole domain name)

# htaccess pravidla pro subdomeny a samostatne weby aliasu
# pro vytvoreni subdomeny vytvorte adresar www/subdom/(nazev subdomeny)
# pro vytvoreni webu pro alias vytvorte adresar www/domains/(cely domenovy nazev)
# dalsi info a priklady: http://kb.wedos.com/r/32/webhosting-htaccess.html

RewriteEngine On

RewriteCond %{HTTP_HOST} ^test\.eknihkupec\.cz$
RewriteRule (.*) subdom/test/$1 [L]

# cele domeny (aliasy)
RewriteCond %{REQUEST_URI} !^domains/
RewriteCond %{REQUEST_URI} !^/domains/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$
RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d
RewriteRule (.*) domains/%2/$1 [DPI]

# subdomeny (s nebo bez www na zacatku)
RewriteCond %{REQUEST_URI} !^subdom/
RewriteCond %{REQUEST_URI} !^/subdom/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d
RewriteRule (.*) subdom/%2/$1 [DPI]

# aliasy - spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R]

# subdomeny - spravne presmerovani pri chybejicim /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R]

# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# WARNING: PLEASE DO NOT MODIFY THIS FILE MANUALLY. IF NECESSARY, ADD YOUR SPECIFIC CONFIGURATION WITH THE HTACCESS GENERATOR IN BACK OFFICE
# http://www.prestashop.com - http://www.prestashop.com/forums


<IfModule mod_rewrite.c>
# URL rewriting module activation
RewriteEngine on

# URL rewriting rules
RewriteRule ^api/?(.*)$ /webservice/dispatcher.php?url=$1 [QSA,L]
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$1$2.jpg [L]
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$1$2$3.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteRule ^c/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg [L]
RewriteRule ^c/([a-zA-Z-]+)/[a-zA-Z0-9-]+\.jpg$ /img/c/$1.jpg [L]
RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg [L]
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L]
RewriteRule ^[a-zA-Z0-9-]*/([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L]
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*(/[a-zA-Z0-9-]*)+ /category.php?id_category=$1&noredirect=1 [QSA,L]
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]* /category.php?id_category=$1 [QSA,L]
RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*) /supplier.php?id_supplier=$1 [QSA,L]
RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*) /manufacturer.php?id_manufacturer=$1 [QSA,L]
RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms=$1 [QSA,L]
RewriteRule ^content/category/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms_category=$1 [QSA,L]
RewriteRule ^lang-([a-z]{2})/([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)\.html /product.php?id_product=$3&isolang=$1 [QSA,L]
RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*)\.html /product.php?id_product=$2&isolang=$1 [QSA,L]
RewriteRule ^lang-([a-z]{2})/([0-9]+)\-([a-zA-Z0-9-]*) /category.php?id_category=$2&isolang=$1 [QSA,L]
RewriteRule ^chyba-404-stranka-nenalezena$ /404.php [QSA,L]
RewriteRule ^adresa$ /address.php [QSA,L]
RewriteRule ^moje-adresy$ /addresses.php [QSA,L]
RewriteRule ^prihlaseni$ /authentication.php [QSA,L]
RewriteRule ^nejprodavanejsi$ /best-sales.php [QSA,L]
RewriteRule ^nakupni-kosik$ /cart.php [QSA,L]
RewriteRule ^napiste-nam$ /contact-form.php [QSA,L]
RewriteRule ^slevove-kupony$ /discount.php [QSA,L]
RewriteRule ^sledovani-host$ /guest-tracking.php [QSA,L]
RewriteRule ^historie-objednavek$ /history.php [QSA,L]
RewriteRule ^osobni-udaje$ /identity.php [QSA,L]
RewriteRule ^vydavatele$ /manufacturer.php [QSA,L]
RewriteRule ^muj-ucet$ /my-account.php [QSA,L]
RewriteRule ^novinky$ /new-products.php [QSA,L]
RewriteRule ^objednavka$ /order.php [QSA,L]
RewriteRule ^vraceni-objednavky$ /order-follow.php [QSA,L]
RewriteRule ^rychla-objednavka$ /order-opc.php [QSA,L]
RewriteRule ^dobropisy$ /order-slip.php [QSA,L]
RewriteRule ^zapomnel-a-jste-sve-heslo$ /password.php [QSA,L]
RewriteRule ^akce$ /prices-drop.php [QSA,L]
RewriteRule ^vyhledavani$ /search.php [QSA,L]
RewriteRule ^mapa-stranek$ /sitemap.php [QSA,L]
RewriteRule ^obchody$ /stores.php [QSA,L]
RewriteRule ^dodavatele$ /supplier.php [QSA,L]
</IfModule>

# Catch 404 errors
ErrorDocument 404 /404.php

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType text/javascript "access plus 1 week"
    ExpiresByType application/javascript "access plus 1 week"
    ExpiresByType application/x-javascript "access plus 1 week"
    ExpiresByType image/x-icon "access plus 1 year"
</IfModule>

FileETag INode MTime Size
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE text/javascript
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
              

mělo by to být nějak jinak?

Link to comment
Share on other sites

Zřejmě to má být jinak a to tak abyste zohlednil to, že máte eshop ve složce a tedy, že si tu app neprovozujete na subdoméně test.vasedomena.xy, ale na test.vasedomena.xy/slozkasdatyshopu/ to je asi ta základní potíž. Takže si vytvořte další DB založte si třeba subdoménu test2.vasedomena.xy/slozkasdatycistehoshopu/ a nainstalujte si tam poslední novou verzi Presty a pak se znova podívejte na tu strukturu ve vámi zmiňovaných souborech a Db a podle ní si to pak hravě opravíte.

Link to comment
Share on other sites

Tak bohužel.

udělal jsem do /www/subdom/pokus/ manuálně čistou instalaci PS 1.6 viz. pokus.eknihkupec.cz
pak jsem ještě udělal totéž pomocí instalátoru, který na svých stránkách poskytuje můj poskytovatel hostingu viz. overeni.eknihkupec.cz  to se nainstalovalo do www/domains/overeni.eknihkupec.cz/

 

Výsledek je ale ve všech případech stejný. Vše funguje, až na zobrazení obrázků k produktům.

Navíc se v těch eshopech na subdoménách z nějakého záhadného důvodu zobrazuje logo z ostrého eshopu, které je umístěno na /www/img/logo.jpg

 

podle mě je chyba v .htaccess umístěném ve /www/ nebo v .htaccess umístěném v adresáři té subdomény. Ale v tom já se bohužel nevyznám a tak netuším, kde ta chyba je. Obsah obou těch .htaccess jsem vkládal do svého předchozího komentáře.

 

Měl by jste někdo nějaký nápad?

Link to comment
Share on other sites

Tak jsem to nakonec "vyřešil" tak, že jsem si kopii pro testování přechodu na PS 1.6 udělal na jiném svém hostingu přímo v adresáři /www/ po té co jsem nechal přegenerovat .htaccess ve /www/ se obrázky produktů začaly zobrazovat a to i v NICE URL režimu. Takže problém u té subdomény je 100% někde v .htaccess. Ale pořád netuším kde. Doufám že tuhle operaci nebudu hned tak muset opakovat. Protože příště žádný volný hosting na pokusy už asi mít nebudu. :-(  

Edited by Trampino (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...