Je souhaite obtenir des informations sur une formation complète concernant le thème DIVI dispensé
par un organisme de formation certifié par l’état.
Que la formation soit finançable par mon CPF (idéalement) ou autre


Alors que la pile LAMP (Linux + Apache + MySQL + PHP) est très populaire pour alimenter WordPress, il est également possible d’utiliser Nginx. WordPress prend en charge Nginx et certains sites WordPress majeurs comme WordPress.com sont pris en charge par Nginx.

Lorsque vous parlez de Nginx, il est important de savoir qu’il existe plusieurs façons d’implémenter Nginx. Il peut être configuré en tant que proxy inverse devant Apache. Il s’agit d’une configuration très puissante qui vous permet de profiter de toutes les fonctionnalités et fonctionnalités d’Apache tout en profitant de la vitesse de Nginx. La plupart des sites Web utilisant Nginx comme serveur (sur la base des statistiques des en-têtes de réponse HTTP) ont en fait Apache fonctionnant avec Nginx en tant que proxy inverse. (Les en-têtes de réponse HTTP avec « Nginx » sont signalés par le proxy inverse et non par le serveur lui-même.)

Ces instructions s’appliquent à un Nginx autonome Configuration où il sera utilisé comme serveur principal À la place de Apache. Il convient de noter que Nginx n’est pas un remplacement entièrement interchangeable pour Apache. Il y a quelques différences majeures d’implémentation de WordPress dont vous devez être conscient avant de continuer:

  • Avec Nginx, il n’y a pas de fichier de configuration au niveau du répertoire comme les fichiers .htaccess d’Apache ou les fichiers web.config IIS. L’ensemble de la configuration doit être effectuée au niveau du serveur par un administrateur WordPress ne peut pas modifier la configurationcomme il le peut avec Apache ou IIS.
  • La fonctionnalité Pretty Permalinks diffère légèrement lorsque Nginx est en cours d’exécution.
  • Étant donné que Nginx ne dispose pas de la fonctionnalité de type .htaccess et que WordPress ne peut pas modifier automatiquement la configuration du serveur pour vous, il ne peut pas générer les règles de réécriture pour vous.
  • Sans modification de votre installation, « index.php » sera ajouté à vos permaliens. (Il existe des moyens d’atténuer cela avec des plugins (voir ci-dessous) et / ou en ajoutant du code personnalisé au functions.php de votre enfant.)
  • Cependant, si vous souhaitez une fonction .htaccess (limitée), il est techniquement possible de l’ajouter en installant extension htscanner PECL pour PHP. (Cependant, ce n’est pas une solution parfaite, alors testez-la et déboguez-la soigneusement avant de l’utiliser sur un site en ligne.)

Ce guide est ne pas couvrir Comment installer et configurer Nginx. Cela suppose que vous avez déjà installé Nginx et que vous avez une compréhension de base de l’utilisation et du débogage de Nginx.

Pour que WordPress fonctionne avec Nginx, vous devez configurer le backend php-cgi. Les options disponibles sont «fastcgi» ou «php-fpm». C’est là que php-fpm est utilisé car il est inclus dans PHP 5.3+ donc l’installation est facile.

La configuration de Nginx a été décomposée en cinq fichiers différents et fortement commentée pour faciliter la compréhension de chaque option. le auteur a également fait de son mieux pour suivre les «meilleures pratiques» pour les configurations Nginx.

Fichier de démarrage principal (générique) Fichier de démarrage principal (générique)

C’est équivalent à /etc/nginx/nginx.conf (ou /etc/nginx/conf/nginx.conf si vous utilisez Arch Linux).

# Generic startup file.
user {user} {group};

#usually equal to number of CPUs you have. run command "grep processor /proc/cpuinfo | wc -l" to find it
worker_processes  auto;
worker_cpu_affinity auto;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

# Keeps the logs free of messages about not being able to bind().
#daemon     off;

events {
	worker_connections  1024;
}

http {
#	rewrite_log on;

	include mime.types;
	default_type       application/octet-stream;
	access_log         /var/log/nginx/access.log;
	sendfile           on;
#	tcp_nopush         on;
	keepalive_timeout  3;
#	tcp_nodelay        on;
#	gzip               on;
        #php max upload limit cannot be larger than this       
	client_max_body_size 13m;
	index              index.php index.html index.htm;

	# Upstream to abstract backend connection(s) for PHP.
	upstream php {
                #this should match value of "listen" directive in php-fpm pool
		server unix:/tmp/php-fpm.sock;
#		server 127.0.0.1:9000;
	}

	include sites-enabled/*;
}

C’est un peu différent des fichiers standard nginx.conf. Cette configuration suit la méthode Ubuntu / Debian de déclaration des sites activés pour une flexibilité maximale. Utilisez les sites disponibles pour enregistrer une configuration, puis liez-la au fichier de configuration à partir des sites activés.

Au-dessus de ↑

Configuration par site Configuration par site

# Redirect everything to the main site. We use a separate server statement and NOT an if statement - see http://wiki.nginx.org/IfIsEvil

server {
        server_name  _;
        return 302 $scheme://example.com$request_uri;
}

server {
    server_name example.com;
    root /var/www/example.com;

    index index.php;

    include global/restrictions.conf;

    # Additional rules go here.

    # Only include one of the files below.
    include global/wordpress.conf;
#    include global/wordpress-ms-subdir.conf;
#    include global/wordpress-ms-subdomain.conf;
}

Le fractionnement de sections de la configuration en plusieurs fichiers permet d’utiliser la même logique encore et encore. Un sous-répertoire «global» est utilisé pour ajouter des règles d’utilisation générales supplémentaires (soit / etc / nginx / conf / global / ou / etc / nginx / global /, selon la configuration de votre installation Nginx).

Au-dessus de ↑

Fichier de restriction globale Fichier de restriction globale

# Global restrictions configuration file.
# Designed to be included in any server {} block.
location = /favicon.ico {
    log_not_found off;
    access_log off;
}

location = /robots.txt {
    allow all;
    log_not_found off;
    access_log off;
}

# Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
# Keep logging the requests to parse later (or to pass to firewall utilities such as fail2ban)
location ~ /. {
    deny all;
}

# Deny access to any files with a .php extension in the uploads directory
# Works in sub-directory installs and also in multisite network
# Keep logging the requests to parse later (or to pass to firewall utilities such as fail2ban)
location ~* /(?:uploads|files)/.*.php$ {
    deny all;
}

Au-dessus de ↑

Règles générales de WordPress Règles générales de WordPress

Pour les installations à un seul endroit, le fichier ‘global / wordpress.conf’ se trouve ici:

# WordPress single site rules.
# Designed to be included in any server {} block.
# Upstream to abstract backend connection(s) for php
upstream php {
        server unix:/tmp/php-cgi.socket;
        server 127.0.0.1:9000;
}

server {
        ## Your website name goes here.
        server_name domain.tld;
        ## Your only path reference.
        root /var/www/wordpress;
        ## This should be in your http block and if it is, it's not needed here.
        index index.php;

        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }

        location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }

        location / {
                # This is cool because no php is touched for static content.
                # include the "?$args" part so non-default permalinks doesn't break when using query string
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ .php$ {
                #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
                include fastcgi.conf;
                fastcgi_intercept_errors on;
                fastcgi_pass php;
        }

        location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {
                expires max;
                log_not_found off;
        }
}

Voici un exemple plus récent pour Nginx: https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/

Au-dessus de ↑

Règles pour le sous-répertoire de WordPress Multisite Règles pour le sous-répertoire multisite WordPress

Pour les installations de sous-répertoires avec plusieurs emplacements, vous trouverez le fichier ‘global / wordpress.conf’ ici:

# WordPress multisite subdirectory rules.
# Designed to be included in any server {} block.

map $uri $blogname{
    ~^(?P/[^/]+/)files/(.*)       $blogpath ;
}

map $blogname $blogid{
    default -999;

    #Ref: https://wordpress.org/extend/plugins/nginx-helper/
    #include /var/www/wordpress/wp-content/plugins/nginx-helper/map.conf ;
}

server {
    server_name example.com ;

    root /var/www/example.com/htdocs;
    index index.php;

    location ~ ^(/[^/]+/)?files/(.+) {
        try_files /wp-content/blogs.dir/$blogid/files/$2 /wp-includes/ms-files.php?file=$2 ;
        access_log off;     log_not_found off; expires max;
    }

    #avoid php readfile()
    location ^~ /blogs.dir {
        internal;
        alias /var/www/example.com/htdocs/wp-content/blogs.dir ;
        access_log off;     log_not_found off; expires max;
    }

    if (!-e $request_filename) {
        rewrite /wp-admin$ $scheme://$host$request_uri/ permanent;
        rewrite ^(/[^/]+)?(/wp-.*) $2 last;
        rewrite ^(/[^/]+)?(/.*.php) $2 last;
    }

    location / {
        try_files $uri $uri/ /index.php?$args ;
    }

    location ~ .php$ {
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_pass php;
    }

    #add some rules for static content expiry-headers here
}

NGINX propose deux directives spéciales: X-Accel-Redirect et Map. Ces deux instructions peuvent aider à éviter une dégradation des performances lors de la diffusion de fichiers statiques sur le réseau multisite WordPress.

Au-dessus de ↑

Règles de sous-domaine multisite WordPress Règles de sous-domaine multisite WordPress

map $http_host $blogid {
    default       -999;

    #Ref: https://wordpress.org/extend/plugins/nginx-helper/
    #include /var/www/wordpress/wp-content/plugins/nginx-helper/map.conf ;

}

server {
    server_name example.com *.example.com ;

    root /var/www/example.com/htdocs;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args ;
    }

    location ~ .php$ {
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_pass php;
    }

    #WPMU Files
        location ~ ^/files/(.*)$ {
                try_files /wp-content/blogs.dir/$blogid/$uri /wp-includes/ms-files.php?file=$1 ;
                access_log off; log_not_found off;      expires max;
        }

    #WPMU x-sendfile to avoid php readfile()
    location ^~ /blogs.dir {
        internal;
        alias /var/www/example.com/htdocs/wp-content/blogs.dir;
        access_log off;     log_not_found off;      expires max;
    }

    #add some rules for static content expiry-headers here
}

Réf: https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/

Au-dessus de ↑

HTTPS dans Nginx HTTPS dans Nginx

L’activation de HTTPS dans Nginx est relativement simple.

server {
    # listens both on IPv4 and IPv6 on 443 and enables HTTPS and HTTP/2 support.
    # HTTP/2 is available in nginx 1.9.5 and above.
    listen *:443 ssl http2;
    listen [::]:443 ssl http2;

    # indicate locations of SSL key files.
    ssl_certificate /srv/www/ssl/ssl.crt;
    ssl_certificate_key /srv/www/ssl/ssl.key;
    ssl_dhparam /srv/www/master/ssl/dhparam.pem;

    # indicate the server name
    server_name example.com *.example.com;

    # Enable HSTS. This forces SSL on clients that respect it, most modern browsers. The includeSubDomains flag is optional.
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";

    # Set caches, protocols, and accepted ciphers. This config will merit an A+ SSL Labs score as of Sept 2015.
    ssl_session_cache shared:SSL:20m;
    ssl_session_timeout 10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5';
}

Mozilla propose un excellent outil pour générer des configurations SSL également.

Au-dessus de ↑

Règles WP Super Cache Règles WP Super Cache

# WP Super Cache rules.
# Designed to be included from a 'wordpress-ms-...' configuration file.

set $cache_uri $request_uri;

# POST requests and urls with a query string should always go to PHP
if ($request_method = POST) {
        set $cache_uri 'null cache';
}

if ($query_string != "") {
        set $cache_uri 'null cache';
}   

# Don't cache uris containing the following segments
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {
        set $cache_uri 'null cache';
}   

# Don't use the cache for logged in users or recent commenters
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
        set $cache_uri 'null cache';
}

# START MOBILE
# Mobile browsers section to server them non-cached version. COMMENTED by default as most modern wordpress themes including twenty-eleven are responsive. Uncomment config lines in this section if you want to use a plugin like WP-Touch
# if ($http_x_wap_profile) {
#        set $cache_uri 'null cache';
#}

#if ($http_profile) {
#        set $cache_uri 'null cache';
#}

#if ($http_user_agent ~* (2.0 MMP|240x320|400X240|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|Googlebot-Mobile|hiptop|IEMobile|KYOCERA/WX310K|LG/U990|MIDP-2.|MMEF20|MOT-V|NetFront|Newt|Nintendo Wii|Nitro|Nokia|Opera Mini|Palm|PlayStation Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|SHG-i900|Small|SonyEricsson|Symbian OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|webOS|Windows CE|WinWAP|YahooSeeker/M1A1-R2D2|iPhone|iPod|Android|BlackBerry9530|LG-TU915 Obigo|LGE VX|webOS|Nokia5800)) {
 #       set $cache_uri 'null cache';
#}

#if ($http_user_agent ~* (w3c |w3c-|acs-|alav|alca|amoi|audi|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-|dang|doco|eric|hipt|htc_|inno|ipaq|ipod|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-|lg/u|maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|palm|pana|pant|phil|play|port|prox|qwap|sage|sams|sany|sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo|teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|wap-|wapa|wapi|wapp|wapr|webc|winw|winw|xda |xda-)) {
  #      set $cache_uri 'null cache';
#}
#END MOBILE

# Use cached or actual file if they exists, otherwise pass request to WordPress
location / {
        try_files /wp-content/cache/supercache/$http_host/$cache_uri/index.html $uri $uri/ /index.php?$args ;
}    

Modifications expérimentales:

Si vous utilisez HTTPS, la dernière version de développement de WP Super Cache peut utiliser une structure de répertoire différente pour différencier HTTP et HTTPS. La ligne try_files pourrait ressembler à ceci:

location / {
        try_files /wp-content/cache/supercache/$http_host/$cache_uri/index-https.html $uri $uri/ /index.php?$args ;
}

Au-dessus de ↑

Règles de cache total W3 Règles de cache total W3

En fonction de la configuration de WordPress, W3 Total Cache utilise une structure de répertoire différente pour la mémoire cache basée sur le disque dur.

Les vérifications de validation du cache restent courantes comme suit:

#W3 TOTAL CACHE CHECK 
set $cache_uri $request_uri;

# POST requests and urls with a query string should always go to PHP
if ($request_method = POST) {
        set $cache_uri 'null cache';
}   
if ($query_string != "") {
        set $cache_uri 'null cache';
}   

# Don't cache uris containing the following segments
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {
        set $cache_uri 'null cache';
}   

# Don't use the cache for logged in users or recent commenters
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {
        set $cache_uri 'null cache';
}
#ADD mobile rules from WP SUPER CACHE section above

#APPEND A CODE BLOCK FROM BELOW...

POUR WordPress normal (sans multisite)
Utilisez le suivant:

# Use cached or actual file if they exists, otherwise pass request to WordPress
location / {
        try_files /wp-content/w3tc/pgcache/$cache_uri/_index.html $uri $uri/ /index.php?$args ;
}   

POUR multisite avec sous-répertoires
Utilisez le suivant:

if ( $request_uri ~* "^/([_0-9a-zA-Z-]+)/.*" ){
        set $blog $1;
}

set $blog "${blog}.";

if ( $blog = "blog." ){
        set $blog "";
}

# Use cached or actual file if they exists, otherwise pass request to WordPress
location / {
        try_files /wp-content/w3tc-$blog$host/pgcache$cache_uri/_index.html $uri $uri/ /index.php?$args ;
}

POUR multisite avec sous-domaines / mappage de domaine
Utilisez le suivant:

location / {
        try_files /wp-content/w3tc-$host/pgcache/$cache_uri/_index.html $uri $uri/ /index.php?$args;
}

Remarques

  • Nginx peut gérer automatiquement le gzip et le cache du navigateur, il vaut donc mieux laisser cette partie à nginx.
  • Les règles W3 Total Cache Minify fonctionnent sans aucun problème avec la configuration ci-dessus.

Au-dessus de ↑

Nginx peut faire la mise en cache lui-même pour réduire la charge sur votre serveur. Si vous souhaitez utiliser fastcgi_cache intégré à Nginx, vous feriez mieux de compiler nginx avec fastcgi_cache_purge Module. Cela aide Nginx à vider le cache d’une page lorsqu’elle est modifiée. Sur le site WordPress, vous devez installer un plugin comme Aide Nginx pour utiliser la fonction fastcgi_cache_purge.

La configuration ressemble à ceci:

Définissez une zone de cache Nginx dans le bloc http {…} en dehors du bloc serveur {…}

#move next 3 lines to /etc/nginx/nginx.conf if you want to use fastcgi_cache across many sites 
fastcgi_cache_path /var/run/nginx-cache levels=1:2 keys_zone=WORDPRESS:500m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
fastcgi_cache_use_stale error timeout invalid_header http_500;

Pour la configuration du site WordPress dans le bloc serveur {..} ajoutez un bloc de vérification du cache comme suit

#fastcgi_cache start
set $no_cache 0;

# POST requests and urls with a query string should always go to PHP
if ($request_method = POST) {
        set $no_cache 1;
}   
if ($query_string != "") {
        set $no_cache 1;
}   

# Don't cache uris containing the following segments
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {
        set $no_cache 1;
}   

# Don't use the cache for logged in users or recent commenters
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
        set $no_cache 1;
} 

Ensuite, modifiez le bloc de gestion PHP

Ajoutez simplement ceci au bloc PHP ci-dessous. Remarquez la ligne fastcgi_cache_valid 200 60m; Cela indique à Nginx de ne mettre en cache que 200 réponses (pages normales), ce qui signifie que les redirections ne seront pas mises en cache. Ceci est important pour les sites Web multilingues où, s’il n’est pas implémenté, nginx mettra en cache l’URL principale dans une langue plutôt que de rediriger les utilisateurs vers leur contenu respectif en fonction de leur langue.

         fastcgi_cache_bypass $no_cache;
         fastcgi_no_cache $no_cache;

         fastcgi_cache WORDPRESS;
         fastcgi_cache_valid 200 60m;

Pour que ça devienne quelque chose comme ça

location ~ [^/].php(/|$) {
    fastcgi_split_path_info ^(.+?.php)(/.*)$;
    if (!-f $document_root$fastcgi_script_name) {
        return 404;
    }
    # This is a robust solution for path info security issue and works with "cgi.fix_pathinfo = 1" in /etc/php.ini (default)

    include fastcgi.conf;
    fastcgi_index index.php;
#    fastcgi_intercept_errors on;
    fastcgi_pass php;

    fastcgi_cache_bypass $no_cache;
    fastcgi_no_cache $no_cache;

    fastcgi_cache WORDPRESS;
    fastcgi_cache_valid 200 60m;
}

Enfin, ajoutez un emplacement pour le nettoyage conditionnel

location ~ /purge(/.*) {
        # Uncomment the following two lines to allow purge only from the webserver
        #allow 127.0.0.1;
    #deny all;

        fastcgi_cache_purge WORDPRESS "$scheme$request_method$host$1";
} 

Si vous obtenez une directive « inconnue » fastcgi_cache_purge « , vérifiez que votre installation Nginx inclut le module fastcgi_cache_purge.

Au-dessus de ↑

Par défaut, une demande de fichier statique dans une configuration multisite met PHP dans l’image; H. ms-files.php Déposer. Vous pouvez obtenir de bien meilleures performances avec Nginx Map{..} Directif.

Dans la configuration Nginx pour votre site ci-dessus server{..} Bloquer, ajoutez une section comme celle-ci:

map $http_host $blogid {
    default               0;

    example.com           1;
    site1.example.com     2;
    site1.com             2;
}

C’est juste une liste de noms de sites et d’identifiants de blog. Vous pouvez utiliser Aide Nginx pour obtenir une telle liste de paires nom de site / identifiant de blog. Ce plugin génère également un map.conf Fichier que vous pouvez ajouter directement à la section de la carte {} comme suit:

map $http_host $blogid {
    default               0;

    include /path/to/map.conf ;
}

Après avoir créé un map{..} Section dont vous avez juste besoin de modifier votre configuration Nginx pour recevoir des demandes de /files/ est d’abord traité avec nginx map{..}::

location ~ ^/files/(.*)$ {
          try_files /wp-content/blogs.dir/$blogid/$uri /wp-includes/ms-files.php?file=$1 ;
          access_log off; log_not_found off; expires max;
 }

Au-dessus de ↑

Remarques Remarques

  • Chaque fois qu’un nouveau site est créé, supprimé ou qu’un domaine supplémentaire est attribué à un site existant, l’assistant Nginx mettra automatiquement à jour le fichier map.conf, mais vous devrez toujours recharger manuellement la configuration Nginx. Vous pouvez toujours le faire plus tard. Jusque-là, les fichiers ne seront fournis que pour les nouveaux sites Web avec php-fpm.
  • Cette méthode ne génère pas de liens symboliques. Il n’y a donc aucun problème de suppression accidentelle ou de sauvegarde des scripts suivant des liens symboliques.
  • Cela peut être bien mis à l’échelle dans les grands réseaux car il n’y a qu’un seul fichier map.conf.

Au-dessus de ↑

Quelques notes finales mais importantes: toute cette configuration suppose que le répertoire racine du site Web est le blog et que tous les fichiers référencés se trouvent sur l’hôte. Si vous placez le blog dans un sous-répertoire tel que / blog, les règles doivent être modifiées. Peut-être que quelqu’un peut prendre ces règles et permettre, par exemple, d’utiliser:

Directive dans le bloc principal ‘Serveur’ et laissez-les s’appliquer automatiquement aux règles WP génériques.

Au-dessus de ↑

  • Une faute de frappe Fichier de restriction globale peut créer des lacunes. Pour tester si votre répertoire « Uploads » est vraiment protégé, créez un fichier PHP avec du contenu (exemple: ), Téléchargez-les dans le répertoire « Uploads » (ou dans l’un de ses sous-répertoires). Essayez ensuite d’y accéder (exécutez-le) via votre navigateur.

Au-dessus de ↑

Au-dessus de ↑

référence référence

Au-dessus de ↑

Au-dessus de ↑

Scripts et outils Scripts et outils

  • Pour installer des scripts WordPress Nginx CentminMod peut être utilisé pour CentOS.

Au-dessus de ↑

Sécuriser Nginx Sécuriser Nginx



Source link

Recent Posts