divers972 Posted April 17, 2012 Share Posted April 17, 2012 Salut tout le monde, Sur le dédié, j'ai installé Nginx. Le fichier .htaccess n'est donc plus "valide" et les règles d'écriture doivent passer par la configuration de Nginx. Quelqu'un aurait-il cette configuration? Sinon, je vais tester cet outil de conversion : http://www.anilcetin.com/convert-apache-htaccess-to-nginx/ Link to comment Share on other sites More sharing options...
divers972 Posted April 18, 2012 Author Share Posted April 18, 2012 Up...sait-on jamais Personne ne roule avec Nginx ? J'ai testé ça : http://www.bibichette.com/nginx-prestashop/comment-page-1/#comment-175 Mais ça ne marche toujours pas ... Link to comment Share on other sites More sharing options...
divers972 Posted April 22, 2012 Author Share Posted April 22, 2012 Un petit up. Apparemment personne ne fonctionne avec Nginx. Dernier jour d'essai puis je supprime Nginx Un peu plus d'info : config actuellement un serveur basé sur : debian 6 apache 2 nginx et Prestashop utilisant le REWRITE. Les options de rewrite ont bien été activées. Mon problème actuellement est le suivant (je vous expose 4 cas): Cas 1/ Lorsque Nginx n'est pas installé, tout fonctionne bien, avec ou sans l'option Rewite. Cas 2/ Lorsque j'installe et configure Nginx, sans la réécriture des liens avec Pretashop : tout fonctionne, tout s'affiche. Cas 3/ Lorsque je laisse activer le Rewriting, via le BO de Prestashop, mais avec aucune règle dans le fichier de config de Nginx, toutes les pages s'affichent, avec la bonne réécriture de l'URL (accueil, produit, etc.) mais aucune photo ne s'affiche... Cas 4/ Dès que j'active tout : Nginx + les règles de Rewrite (que j'intègre dans le fichier de config de Nginx), seule la page d'accueil fonctionne, avec les images de la page d'accueil qui s'affichent bien aussi. Mais les autres pages donnent une erreur "La page n'est pas redirigée correctement". L'URL de chaque page a bien été réécrite de la bonne manière, mais la page recherchée a un statut "301 Moved". Le serveur tente de lancer 21 fois, et 21 fois la page remonte (avec le "GET") ce statut "301 moved". Je vous joins ici mes deux fichiers config : fichier /etc/nginx/sites-available/default server { rewrite ^/([0-9])(-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*.jpg$ /img/p/$1/$1$2.jpg last; rewrite ^/([0-9])([0-9])(-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*.jpg$ /img/p/$1/$2/$1$2$3.jpg last; rewrite ^/([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 last; rewrite ^/([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 last; rewrite ^/([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 last; rewrite ^/([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 last; rewrite ^/([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 last; rewrite ^/([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 last; rewrite ^/c/([0-9]+)(-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*.jpg$ /img/c/$1$2.jpg last; rewrite ^/c/([a-zA-Z-]+)/[a-zA-Z0-9-]+.jpg$ /img/c/$1.jpg last; rewrite ^/([0-9]+)(-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*.jpg$ /img/c/$1$2.jpg last; rewrite ^/([0-9]+)-[a-zA-Z0-9-]*.html /product.php?id_product=$1 last; rewrite ^/[a-zA-Z0-9-]*/([0-9]+)-[a-zA-Z0-9-]*.html /product.php?id_product=$1 last; rewrite ^/([0-9]+)-[a-zA-Z0-9-]*(/[a-zA-Z0-9-]*)+ /category.php?id_category=$1&noredirect=1 last; rewrite ^/([0-9]+)-[a-zA-Z0-9-]* /category.php?id_category=$1 last; rewrite ^/([0-9]+)__([a-zA-Z0-9-]*) /supplier.php?id_supplier=$1 last; rewrite ^/([0-9]+)_([a-zA-Z0-9-]*) /manufacturer.php?id_manufacturer=$1 last; rewrite ^/content/([0-9]+)-([a-zA-Z0-9-]*) /cms.php?id_cms=$1 last; rewrite ^/content/category/([0-9]+)-([a-zA-Z0-9-]*) /cms.php?id_cms_category=$1 last; rewrite ^/erreur-404$ /404.php last; rewrite ^/panier$ /cart.php last; rewrite ^/contactez-nous$ /contact-form.php last; listen 80; ## listen for ipv4 listen [::]:80 default ipv6only=on; ## listen for ipv6 #server_name localhost; server_name www.monsite.fr; access_log /var/log/nginx/monsite.access.log; location ~* \.(jpg|jpeg|gif|css|png|js|ico|swf|mp3)$ { root /var/www/monsite; expires 365d; access_log off; } location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; access_log off; } location /doc { root /usr/share; autoindex on; allow 127.0.0.1; deny all; } location /images { root /usr/share; autoindex on; } fichier /etc/apache2/sites-enabled/000-default /etc/nginx/sites-available# more /etc/apache2/sites-enabled/000-default <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /var/www/monsite <Directory /> Options FollowSymLinks [b]AllowOverride All[/b] </Directory> <Directory /var/www/monsite> Options Indexes FollowSymLinks MultiViews [b]AllowOverride All[/b] Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> [b]AllowOverride All[/b] Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> Enfin les logs sous /var/logs ne donnent rien d'explicite... Ne donnent rien tout court même La log apache2 : 127.0.0.1 - - [22/Apr/2012:18:31:03 +0200] "GET /product.php?id_product=1204 HTTP/1.0" 301 462 "http://www.monsite.fr/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0" Voilà voilà, ça fait plus d'une semaine que je me prends la tête avec. Peut-être que quelqu'un trouvera une solution, sait-on jamais !!! Link to comment Share on other sites More sharing options...
Dev On Web Posted April 23, 2012 Share Posted April 23, 2012 Désolé mais jamais utilisé nginx pour cela. Pourquoi ne pas tourner sur Apache et investir dans un CDN basé sur nginx par la suite ? Link to comment Share on other sites More sharing options...
divers972 Posted April 30, 2012 Author Share Posted April 30, 2012 Bonjour, Je viens aux news. Désolé du retard. Alors j'ai réussi à faire fonctionner avec la solution suivante : J'ai laissé les règles dans le fichier htaccess sauf les règles concernant les fichiers statiques (jpeg, jpg, bmp, etc.) Tout fonctionne avec cette config sauf pour les fichiers HTML. Je n'arrive pas à trouver la bonne règle d'écriture Nginx pour les fichiers .*html Ceci étant, j'ai laissé tombé pour le moment. Je fais tout passer par Apache. Je voulais Nginx car sur le temps (je l'espère) avec le nombre de visites en heure de pointe, j'ai peur de saturer au niveau des performances même si aujourd'hui, j'ai encore de la marge. Pour CDN, je ne connaissais pas. Link to comment Share on other sites More sharing options...
Nelson Posted September 16, 2012 Share Posted September 16, 2012 http://wiki.nginx.org/Prestashop_Rewrites Link to comment Share on other sites More sharing options...
Prestadget Posted September 27, 2012 Share Posted September 27, 2012 Tu as Apache derrière Nginx ? Si oui, mieux vaut utiliser Varnish comme proxy si tu as du temps .. sinon, il te suffit donc de servir les images sur le nginx et le reste renvoit à Apache qui s'occupera du reste, tu dois donc splitter les règle de rewrite. Et oui apparement les développeurs de Prestashop n'ont jamais eu de cours sur le Web ;-) il faut donc des règles pour donner le contenu static des images (ça c'est une énorme connerie de leur part ....) Ou alors tu as installé aussi php5-fpm et tu te passes d'Apache ? Link to comment Share on other sites More sharing options...
Nelson Posted February 23, 2013 Share Posted February 23, 2013 php-fpm, nginx et MariaDB installé avec succès. 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