Un utilisateur a demandé 👇

Dommage, le permalien est invalide et maintenant seule l’URL par dĂ©faut est valide ; lorsque je sĂ©lectionne /%jobname%/, au lieu de la page d’accueil d’un type de travail et de la page d’archive personnalisĂ©e, toutes les autres pages passeront Ă  la page 404, je ne comprends pas pourquoi c’est …

Et quand j’ouvre le mĂŞme thème sur un autre nom de domaine, ce scĂ©nario ne se produit pas, bien sĂ»r, ce ne sont pas les causes du contenu ou du plugin ;

L’environnement du site est : Nginx 1.12.0, Centos 6.8 et php7.1.4.


(@ tm3909)

il y a 3 ans, 1 mois

@bearshang,

Nginx peut ĂŞtre trivial lorsqu’il s’agit de configurer WordPress. WordPress attend apache, il charge donc la configuration du permalien dans un fichier cachĂ© Ă  l’intĂ©rieur du soi-disant rĂ©pertoire racine HTML .htaccess. Ce fichier contient les paramètres d’utilisation d’Apache, y compris la façon de rediriger les permaliens vers vos sites.

Cependant, avec Nginx, vous devrez le faire dans votre configuration Nginx. Je ne sais pas où réside la configuration sur Centos, mais regardez quelque part dans /etc/nginx/. Assurez-vous de modifier le vôtre Emplacement configuration, pas la configuration globale de Nginx.

Vous devrez transmettre l’emplacement et rediriger la configuration vers le fichier, comme :

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

Voir les sources ci-dessous pour des informations un peu plus dĂ©taillĂ©es. Je recommanderais Ă©galement de suivre le lien Nginx WordPress.org pour plus d’options de configuration.

Sources:

https://codex.wordpress.org/Nginx

http://nginxlibrary.com/wordpress-permalinks/

J’espère que cela vous aidera et faites-moi savoir si vous avez des questions de suivi.

Ă€ M


(@pothi)

il y a 3 ans, 1 mois

Pour amĂ©liorer la rĂ©ponse de Tom (qui couvre tout pour faire fonctionner les permaliens) …

Ce qui suit est plus prĂ©cis car il suit le point d’interrogation index.php fichier, mais s’il y a des chaĂ®nes de requĂŞte (ou $args) prĂ©sentes.

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

.


(@ tm3909)

il y a 3 ans, 1 mois

+1 Merci @pothi !


(@bearshang)

il y a 3 ans, 1 mois

@tm3909 Comment dire…

Je suis les mĂ©thodes dans le test de donnĂ©es, le problème existe toujours…

Voici ma configuration nginx :


server
    {
        listen 80;
        server_name dev.trueniu.com *.dev.trueniu.com;
        index  index.php index.html index.htm;
        root  /home/wwwroot/trueniu-php/trueniu;

        include enable-php.conf;
        include wordpress.conf;
    }

wordpress.conf :


access_log /home/wwwlogs/nginx_access.log;

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

Et j’ai essayĂ© votre mĂ©thode @pothi. Malheureusement, cela ne semble pas avoir d’effet;

Je suppose donc avec audace que le problème ne devrait pas ĂŞtre la configuration nginx. Parce que j’utilise la mĂ©thode de sous-domaine multi-sites, le mĂŞme programme wordpress sur les performances des autres sites de sous-domaine est bon, et ce problème n’apparaĂ®t pas.

Il doit y avoir autre chose qui cause ce problème.-_-


(@bearshang)

il y a 3 ans, 1 mois

@tm3909 @pothi

Heureusement, j’ai trouvĂ© la raison, pas le rĂ©sultat de la configuration nginx, mais la cause d’un plugin multilingue, le plugin s’appelle ‘Polylang’

J’utilise ce plugin et en mĂŞme temps j’ajoute un langage qui pourrait dĂ©truire la structure du permalien, provoquant l’Ă©chec du permalien…

Merci beaucoup pour votre réponse!


(@bearshang)

il y a 3 ans, 1 mois

@tm3909 @pothi

J’ai trouvĂ© une solution au problème :


add_action( 'init', 'flush_rewrite', 99 );
function flush_rewrite()
{
    flush_rewrite_rules();
}

Cela a-t-il résolu votre problème ?

Was this helpful?

0 / 0

Leave a Reply 0

Your email address will not be published. Required fields are marked *