Hello le forum
Je 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
Code:
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
Code:
/etc/nginx/sites-available# more /etc/apache2/sites-enabled/000-default
ServerAdmin webmaster@localhost
DocumentRoot /var/www/monsite
Options FollowSymLinks
AllowOverride All
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
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
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 !!!