Thomas EMP Posted September 21, 2015 Share Posted September 21, 2015 (edited) Bonjour ! Nous sommes en train de mettre en place une plateforme de test pour notre site internet en Prestashop 1.5.4.1 J'ai procédé ainsi : - déplacer tous les fichiers de domaine.com à test.domaine.com via FTP - dupliquer la base de données - modifier la table ps_shop_url pour changer le champ "domain" et "domain_ssl" de "domain.com" à "test.domain.com" - changer le settings.inc.php pour modifier le "_DB_NAME_" - voici le contenu de mon .htaccess modifié (désolé je n'ai pas réussi à le mettre dans une fenêtre de code) : #MOD_PY_CONVERTURL_CHECKOK#AddType x-mapp-php5 .php .php3 .php4 .htm .html#AddHandler x-mapp-php5.4 .php .php3 .php4 .htm .html#AddType x-mapp-php5.4 .phpRewriteEngine onRewriteRule ^(.*) http://test.domain.com/$1 [QSA,L,R=301]RewriteRule ^en\/(.*?)$ /$1 [R=301,L]RewriteRule ^fr\/(.*?)$ /$1 [R=301,L]# ~~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>RewriteEngine onRewriteCond %{HTTP_HOST} ^test.domain.com$RewriteRule . - [E=REWRITEBASE:/]RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]# ImagesRewriteCond %{HTTP_HOST} ^test.domain.com$RewriteRule ^([a-z0-9]+)\-([a-z0-9]+)(\-[_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1-$2$3$4.jpg [L]RewriteCond %{HTTP_HOST} ^test.domain.com$RewriteRule ^([0-9]+)\-([0-9]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1-$2$3.jpg [L]RewriteCond %{HTTP_HOST} ^test.domain.com$RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]RewriteCond %{HTTP_HOST} ^test.domain.com$RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]RewriteCond %{HTTP_HOST} ^test.domain.com$RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]RewriteCond %{HTTP_HOST} ^test.domain.com$RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]RewriteCond %{HTTP_HOST} ^test.domain.com$RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]RewriteCond %{HTTP_HOST} ^test.domain.com$RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]RewriteCond %{HTTP_HOST} ^test.domain.com$RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]RewriteCond %{HTTP_HOST} ^test.domain.com$RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]RewriteCond %{HTTP_HOST} ^test.domain.com$RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]RewriteCond %{HTTP_HOST} ^test.domain.com$RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]# AlphaImageLoader for IE and fancyboxRewriteCond %{HTTP_HOST} ^test.domain.com$RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]# DispatcherRewriteCond %{REQUEST_FILENAME} -s [OR]RewriteCond %{REQUEST_FILENAME} -l [OR]RewriteCond %{REQUEST_FILENAME} -dRewriteCond %{HTTP_HOST} ^test.domain.com$RewriteRule ^.*$ - [NC,L]RewriteCond %{HTTP_HOST} ^test.domain.com$RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]</IfModule><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> <IfModule mod_filter.c> AddOutputFilterByType DEFLATE text/html text/css text/javascript application/javascript application/x-javascript </IfModule></IfModule>#If rewrite mod isn't enabledErrorDocument 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#MOD_PY_CONVERTURL_START#MOD_PY_CONVERTURL_PROD#MOD_PY_CONVERTURL_CAT#MOD_PY_CONVERTURL_CMSphp_value max_input_vars 5000php_value suhosin.post.max_vars 5000php_value suhosin.request.max_vars 5000# start ~ module watermark sectionOptions +FollowSymLinksRewriteEngine OnRewriteRule [0-9/]+/[0-9]+\.jpg$ - [F]# end ~ module watermark sectionphp_value memory_limit 2048Mphp_value max_execution_time 120 En essayant d'aller sur test.domain.com (la boutique) ou test.domain.com/adminshop (le BO) j'ai Chrome qui m'indique : ERR_TO_MANY_REDIRECTS La page Web à l'adresse http://test.domain.com/adminshop a déclenché trop de redirections. Pour résoudre le problème, effacez les cookies de ce site ou autorisez les cookies tiers. Si le problème persiste, il peut être dû à une mauvaise configuration du serveur et n'être aucunement lié à votre ordinateur. A noter que ce message apparaît quelque soit le navigateur, y compris après avoir supprimer tous les cookies. Ai-je oublié une étape, ou voyez vous quelque chose qui ne semble pas correct dans le .htaccess ? Merci d'avance pour votre aide ! Edited September 21, 2015 by Thomas EMP (see edit history) Link to comment Share on other sites More sharing options...
Oron Posted September 21, 2015 Share Posted September 21, 2015 Bonjour Vous avez bien configurer le sous-domaine dans les DNS ? Vous avez tenter de désactivé l'url rewriting et de réactivé pour régénérer le .htaccess ? vous pouvez sauvegarder ce .htaccess avant de le régénérer. Link to comment Share on other sites More sharing options...
Thomas EMP Posted September 21, 2015 Author Share Posted September 21, 2015 Bonjour Vous avez bien configurer le sous-domaine dans les DNS ? Vous avez tenter de désactivé l'url rewriting et de réactivé pour régénérer le .htaccess ? vous pouvez sauvegarder ce .htaccess avant de le régénérer. Bonjour Oron J'ai établi la configuration du sous-domaine avec mon hébergeur. Les DNS ont bien été configuré. Par contre, j'ai vu à droite à gauche cette solution de .htaccess à régénérer mais je n'ai pas accès à la partie admin du site. L'erreur se produit à la fois sur le front et le BO. Supprimer le .htaccess, n'y change rien (je m'en doutais mais bon...) Link to comment Share on other sites More sharing options...
Alexandre Carette Posted September 21, 2015 Share Posted September 21, 2015 Bonjour, Vérifie le chmod des dossiers peut être notamment celui du cache. CDT Link to comment Share on other sites More sharing options...
Thomas EMP Posted September 23, 2015 Author Share Posted September 23, 2015 Bonjour, Vérifie le chmod des dossiers peut être notamment celui du cache. CDT Bonjour Alexandre-KM. J'ai effectué de nombreux changement, les droits ont été changé et l'erreur reste inchangé. Ne pouvant aller dans le BO je ne peux réinitialiser le .htaccess. Peut-être qu'en le changeant par un .htaccess "de base" cela règlerait le problème. En existe-t-il un ? Cordialement Link to comment Share on other sites More sharing options...
Thomas EMP Posted September 25, 2015 Author Share Posted September 25, 2015 (edited) Bonjour, J'ai "apparemment" réglé le problème des redirections. Le prestataire qui gère le serveur a jeté un œil et aurait juste commenté la ligne 7, à savoir : RewriteRule ^(.*) http://test.domain.com/$1 [QSA,L,R=301] Et effectivement, dans les logs du serveur, je suis passé d'une erreur 301 à une erreur 500 avec une page blanche. Alors tous les tutos de page blanche indique qu'il faut passer le _PS_MODE_DEV_ à true dans le defines.inc.php C'est ce que j'ai fait, mais j'ai toujours une page blanche avec juste ceci dans les logs d'accès : [logs de localisation] - - [25/Sep/2015:12:03:32 +0200] "GET /adminshop/ HTTP/1.1" 500 242 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36 OPR/32.0.1948.25" [logs de localisation] - - [25/Sep/2015:12:03:32 +0200] "GET /favicon.ico HTTP/1.1" 500 242 "http://test.domain.com/adminshop/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36 OPR/32.0.1948.25" Par contre, je n'ai aucun log d'erreur via le serveur... Avez-vous une idée pour débloquer la situation ? Merci d'avance ! Cordialement Edited September 25, 2015 by Thomas EMP (see edit history) Link to comment Share on other sites More sharing options...
Thomas EMP Posted October 21, 2015 Author Share Posted October 21, 2015 Je déterre un peu le sujet qui date d'un mois. J'ai continué à écumer les forums sans trouver de solution... Quelqu'un aurait-il une piste à suivre ? Cordialement Link to comment Share on other sites More sharing options...
Oron Posted October 22, 2015 Share Posted October 22, 2015 Bonjour Si vous activé le mode debug _PS_MODE_DEV_ et si c'est un problème de lecture d'un fichier un message s'affiche sur la page blanche si vous n'avez pas de message sur la page blanche c'est pas un problème de lecture d'un fichier. Les erreurs à consulter c'est le fichier error.log il s' affiche aussi dans le gestionnaire de votre hébergement. le acces.log c'est juste pour savoir qui arrive sur votre page et quel navigateur, l'ip l'heure date Est-ce que vous avez éditer un fichier avec le bloc note ou autre logiciel windows ? et enregistré en ASCII au lieu de UTF8 ? Link to comment Share on other sites More sharing options...
Thomas EMP Posted October 22, 2015 Author Share Posted October 22, 2015 (edited) Bonjour, Tout d'abord, merci pour votre retour ! Ensuite, effectivement j'ai pu retrouver deux lignes d'erreurs dans les logs serveur lorsque je tente d'accéder à http://test.domain.com : [Thu Oct 22 10:37:16 2015] [error] [client xx.xxx.xxx.xx] PHP Parse error: syntax error, unexpected '}' in /var/www/domain/sd/test/classes/module/Module.php on line 1740 [Thu Oct 22 10:37:16 2015] [error] [client xx.xxx.xxx.xx] PHP Parse error: syntax error, unexpected '}' in /var/www/domain/sd/test/classes/module/Module.php on line 1740, referer: http://test.domain.com/ Du coup, je suis allé voir ce fichier à la ligne 1740. Je ne me rappelle pas y avoir touché mais peut-être qu'un prestataire l'a fait par le passé. Il y a une ligne en commentaire dans le foreach et le foreach fini par un if sans aucune action... /** * Check employee permission for module (static method) * @param integer $id_module * @param array $variable (action) * @param object $employee * @return bool if module can be transplanted on hook */ public static function getPermissionStatic($id_module, $variable, $employee = null) { if (!in_array($variable, array('view', 'configure'))) return false; if (!$employee) $employee = Context::getContext()->employee; if ($employee->id_profile == _PS_ADMIN_PROFILE_) return true; if (!isset(self::$cache_permissions[$employee->id_profile])) { self::$cache_permissions[$employee->id_profile] = array(); $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('SELECT `id_module`, `view`, `configure` FROM `'._DB_PREFIX_.'module_access` WHERE `id_profile` = '.(int)$employee->id_profile); foreach ($result as $row) { self::$cache_permissions[$employee->id_profile][$row['id_module']]['view'] = $row['view']; // self::$cache_permissions[$employee->id_profile][$row['id_module']]['configure'] = $row['configure']; if (Validate::isLoadedObject($context->employee) && !$moduleInstance->getPermission('view', $context->employee)) } } if (!isset(self::$cache_permissions[$employee->id_profile][$id_module])) throw new PrestaShopException('No access reference in table module_access for id_module '.$id_module.'.'); return (bool)self::$cache_permissions[$employee->id_profile][$id_module][$variable]; } Je ne vois pas bien quoi faire... Une idée ? Cordialement Edited October 22, 2015 by Thomas EMP (see edit history) Link to comment Share on other sites More sharing options...
Thomas EMP Posted October 22, 2015 Author Share Posted October 22, 2015 (edited) Re-bonjour, J'avance ! Décidément ce "if" me semblait étrange. J'ai donc remplacé la ligne 1739 : if (Validate::isLoadedObject($context->employee) && !$moduleInstance->getPermission('view', $context->employee)) par : if (Validate::isLoadedObject($context->employee) && !$moduleInstance->getPermission('view', $context->employee)) {} J'ai accès au Front et BO du site ! Maintenant il ne me reste qu'une étape : la privatisation du serveur de test. J'ai rajouté au début de mon fichier .htaccess à la racine du sous-domaine : AuthName "Merci de vous identifer :" AuthType Basic AuthUserFile "/var/www/domain/sd/test/ .htpasswd" Require valid-user Ensuite j'ai ajouté un fichier .htpasswd avec un identifiant et mdp : Logtest:$1$dG5ZFmVA$QK55QuSUN35rGiXha9jt50 Lorsque je charge n'importe quelle page du sous-domaine j'ai bien un message qui me demande de m'identifier. Si je me trompes, l'accès est refusé pour mauvais mot de passe. Si je rentre le login/mdp correctement je tombe sur une page d'erreur qui m'indique : Internal Server ErrorThe server encountered an internal error or misconfiguration and was unable to complete your request.Please contact the server administrator and inform them of the time the error occurred, and anything you might have done that may have caused the error.More information about this error may be available in the server error log. Ai-je fait une erreur ou est-ce un problème de configuration serveur qui pourrait ne pas supporter cette méthode ? Cordialement Edited October 22, 2015 by Thomas EMP (see edit history) Link to comment Share on other sites More sharing options...
Thomas EMP Posted October 23, 2015 Author Share Posted October 23, 2015 (edited) Bonjour tout le monde ! A force de recherche on finit par trouver ! Il y avait juste un espace en trop... AuthUserFile "/var/www/domain/sd/test/ .htpasswd" Au lieu de : AuthUserFile "/var/www/domain/sd/test/.htpasswd" Merci pour vos interventions qui m'ont aiguillées vers la solution ! Cordialement Edited October 23, 2015 by Thomas EMP (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now