web-dev-qa-db-fra.com

Comment puis-je ignorer le traitement 404 de wordpress?

Je souhaite étendre mon site Web de manière parallèle au thème wordpress.

Exemple:

Mon site Web avec wordpress est à l'adresse: www.mywebsite.com Par ftp, j'ai ajouté un répertoire nommé test, dans lequel se trouve un fichier php test.php

Le problème est que si j'écris dans l'URL: www.mywebsite.com/test/test.php, il me redirige vers la "page non trouvée" de mon thème.

Comment puis-je désactiver ce comportement?

Affichage .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

# # av:php5-engine
AddHandler av-php5 .php

# # av:Toolbar
SetEnv AV_TOOLBAR 1
1

Les règles WordPress natives sont conçues pour ignorer tous les fichiers et répertoires existants, y compris les scripts arbitraires PHP. C’est littéralement ce que cette partie de directives signifie:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

Donc, dans des circonstances normales, WP ne devrait en aucun cas être impliqué dans votre demande. Il se peut que d'autres règles de réécriture interfèrent, éventuellement à partir d'un emplacement différent dans la configuration du serveur Web.

2
Rarst

IIRC, vous ne pouvez pas exécuter de code 'brut' (code autre que WP) PHP sur un site WordPress. WP utilisera l'URL comme "pointeur" vers une entrée (page/publication) de votre base de données WP. Il ne chargera/n'exécutera pas le code PHP dans le fichier.

Si vous souhaitez créer un fichier 404 personnalisé, créez un thème enfant, puis copiez/modifiez le fichier 404.php à partir du thème parent. Beaucoup de googles sur la façon de créer des thèmes pour enfants (et pourquoi ils sont importants).

Il existe des plugins qui vous permettront de mettre le code PHP dans une page/un post. Mais, en fonction de votre question, la meilleure solution est un modèle 404 personnalisé.

** Edit ** Je reste corrigé. Une page non-WP PHP peut être affichée sur un site basé sur WP. Bien sûr, il n’a aucune des "apparences" du site (pour lesquelles vous voudriez utiliser un modèle avec votre code PHP,), mais cela fonctionne.

J'ai toujours pensé que ce ne serait pas le cas, sur la base d'une expérience passée à la mémoire sombre.

0
Rick Hellewell