web-dev-qa-db-fra.com

404 introuvable, l'URL demandée << nom url >> introuvable sur ce serveur dans wordpress

J'ai récemment installé wordpress, je suis confronté à des problèmes lorsque j'essaie de changer le format des permaliens, 

quand je change le permalien de défaut en jour et heure 

 Default    http://127.0.0.1/?p=123
 Day and name   http://127.0.0.1/2015/03/16/sample-post/ 

le lien généré ne fonctionne pas, il donne le même error 404 tout le temps ,

 The requested URL /2015/03/16/post-5-problem/ was not found on this server.

Mais lorsque le type de lien permanent est défini par défaut, cela fonctionne parfaitement.

J'ai trouvé des solutions qui sont 

Sudo a2enmod rewrite

Module rewrite already enabled

Une autre solution consiste à changer les autorisations de mode du fichier .htaccess en 666 (donnant l’autorisation d’écriture à wordpress du fichier .htaccess) avant de changer le permalien de défaut à un autre type,

Sudo chmod 666 /address_of_.htaccess 

j'ai vérifié le fichier .htaccess 

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

mais ce qui précède semble être correct, ce qui est inclus par le wordpress lui-même 

Les deux solutions ne semblent pas fonctionner, est-ce que je dois changer quelque chose pour activer les options de permalien?

7

S'il s'agit d'une nouvelle installation du serveur Web, il est possible que les règles .htaccess ne soient pas autorisées par défaut. Pour résoudre ce problème, éditez-vous httpd.conf (généralement dans/etc/Apache2), recherchez 

<Directory "path/to/your/document/root">    
    # ....

     AllowOverride None

    # ....

</Directory>

et changer 

AllowOverride None

à 

AllowOverride All

Ensuite, redémarrez votre serveur Web et réessayez.

21

Réinitialisez le lien permanent que vous souhaitez à partir de la zone d'administration wordpress et ajoutez ce code dans htaccess:

# BEGIN WordPress

<IfModule mod_rewrite.c>
ErrorDocument 404 /index.php?error=404
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Maintenant, vérifiez avec les articles de blog et les pages.

Merci,

1
Said Erraoudy

Vous recevez cette erreur car votre serveur Web ne peut pas trouver le fichier et ne transmet pas la demande à Wordpress. 

Vous devez ajouter des règles de réécriture pour votre Wordpress, et les instructions à ce sujet dépendent de votre logiciel de serveur Web (Apache, nginx, etc.).

Exemple avec nginx:

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

Ce qui signifie littéralement: essayez d'ouvrir d'abord "/ 2015/03/16/post-5-problem /" dans le système de fichiers. S'il n'existe pas, essayez d'ajouter une barre oblique, si cela ne permet pas de passer la demande d'indexation. php (qui est le fichier principal de Wordpress) avec les arguments.

Activer le module de réécriture ne suffit pas, vous devez ajouter des règles de réécriture.

0
Denis Mysenko