web-dev-qa-db-fra.com

WordPress peut-il fonctionner à la racine d'un site php existant sans thème sur index.php mais sur tous les autres WP messages/pages?

Espérons que cela aide les autres qui ont une situation similaire, j'ai cherché et cherché et ne semble pas pouvoir trouver une solution. Peut-être que je me trompe?

En bref:

  1. Les publications par défaut doivent être en boucle sur/blog/et les publications par défaut pour suivre ce chemin,/blog/post-title /
  2. Une catégorie spécifique doit être bouclée à/category/et les publications de cette catégorie pour suivre ce chemin,/category/post-title /
  3. Le site php existant a des fonctions et des variables auxquelles index.php a besoin d'accéder. Il ne peut donc pas exécuter le moteur de thème pour la page d'accueil et ne nécessite aucun appel inutile à la base de données, à l'exception des 2 derniers articles.

Je suppose que la structure des dossiers peut être réalisée avec Wordpress à la racine du site, mais je ne suis pas sûr que les thèmes puissent être désactivés uniquement pour la page d'accueil. Toutes les informations de page statique que j'ai trouvées ( je sais, php est dynamique, pas statique. Mais je n'ai pas besoin d'utiliser le thème de la page d'accueil tout en pouvant être utilisé sur les publications générées par wordpress ) pointe vers l'utilisation du moteur de thème wordpress.

Si cela peut être fait avec l'API, j'aurais besoin de savoir comment configurer un routage automatique pour les permaliens.

Je mettrai à jour cette question si les réponses reflètent un besoin de clarification. J'apprécie l'aide de chacun et espère sincèrement que cela pourra aider d'autres développeurs d'applications et développeurs de sites php personnalisés.

S'il existe une autre solution que wordpress à la racine qui fait que le système de dossiers ci-dessus fonctionne correctement, c'est très bien. Je marquerai comme correctes les réponses qui résoudront ce problème.

2
Howard Davis

Réponse courte

Non.

La raison

Si vous regardez le fichier .htaccess à la racine de votre installation WordPress, vous remarquerez ces quelques lignes générées par WordPress (si vous avez activé le permalien):

# 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

Faites attention à la ligne 5. Lorsque vous faites une demande sur un site Web WordPress, cette règle l'enverra à index.php. Mais il semble que vous souhaitiez éliminer le fichier index.php. Même si vous parvenez à le faire via des règles de réécriture, un million d'autres demandes seraient envoyées à ce fichier par défaut. Sans oublier que ce fichier est utilisé en interne par WordPress.

En règle générale, il n'est pas judicieux d'installer deux CMS ou plates-formes dans un seul répertoire.

Que faire?

Ce que vous pouvez faire est d’installer votre WordPress dans un sous-répertoire, puis d’utiliser des règles de réécriture pour éliminer /sub-directory/ de certaines pages dont vous avez besoin.

2
Jack Johansson