2 votes

Mon paramètre de redirection nginx ne fonctionne pas

J'ai un problème avec mon site. Chaque fois que j'essaie d'accéder à mon site, il n'est pas redirigé.

Cela signifie que lorsque je tape l'URL financenectar.com, mon site s'ouvre sur financenectar.com mais n'est pas redirigé vers www.financenectar.com.

De plus, cela ne fonctionne même pas lorsque je tape www.financenectar.com.

Configuration actuelle de nginx

server {
        listen   80; ## listen for ipv4; this line is default and implied
        #listen   [::]:80 default ipv6only=on; ## listen for ipv6

        root /var/www/financenectar/;
        index index.php index.html index.htm;

        # Make site accessible from http://localhost/
        server_name financenectar.com;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to index.html
                try_files $uri $uri/ /index.php?q=$uri&$args;
                # Uncomment to enable naxsi on this location
                # include /etc/nginx/naxsi.rules
        }

        location /doc/ {
                alias /usr/share/doc/;

        location /doc/ {
                alias /usr/share/doc/;
                autoindex on;
                allow 127.0.0.1;
                deny all;
        }

        error_page 404 /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
                root /usr/share/nginx/www;
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
        #       fastcgi_split_path_info ^(.+\.php)(/.+)$;
        #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
                try_files $uri =404;
        #       # With php5-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
        #       # With php5-fpm:
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
}

Veuillez me tenir au courant des changements.

3voto

CGriffitt Points 171

Vous n'avez pas de bloc de serveurs comprenant www.financenectar.com.

J'ai quelques solutions possibles pour vous.

1. Solution - Il suffit d'ajouter le domaine à server_name

Modifier la ligne suivante

server_name financenectar.com;

à cette

server_name financenectar.com www.financenectar.com;

La configuration de nginx fonctionnera ainsi pour les deux domaines, mais il n'y aura pas de redirection.

2. Solution - Ajouter un nouvel hôte virtuel pour la redirection

Ajouter un nouveau bloc-serveur avec le contenu suivant.

server {
  listen 80;
  root /var/www/financenectar/;
  server_name www.financenectar.com;

  location / {
    return 301 http://financenectar.com$request_uri;
  }
}

Ainsi, toutes les demandes adressées à www.financenectar.com sont redirigées vers financenectar.com. Si vous voulez que ce soit l'inverse, il suffit de changer l'option server_name dans chaque bloc de serveurs et modifier le paramètre return dans la configuration ci-dessus à ce qui suit.

    return 301 http://www.financenectar.com$request_uri;

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X