La majeure partie de mon site se trouve dans le répertoire racine. Dans ce répertoire se trouvent les dossiers "css", "functions" et "images". Lorsque j'inclus le fichier php dans index.php ou d'autres fichiers racine, tout fonctionne bien. Il contient et s'exécute correctement.
Mais le problème survient lorsque je crée un dossier appelé "blog". Il s'agit d'un tout nouveau dossier racine séparé avec le CMS et son propre fichier « racine ». Lorsque j'essaie d'inclure du CSS de la racine principale ou un fichier php du dossier "functions" de la racine principale, tout plante. Je sais que je dois l'inclure en utilisant ../functions/myfile.com
. Mais ce fichier contient également d'autres fichiers, il ne fonctionne donc pas et n'inclut pas correctement les autres fichiers.
Existe-t-il un moyen de résoudre ce problème ?
Si je vous comprends bien, vous avez deux dossiers, l'un est l'endroit où se trouve le script php que vous souhaitez
include
dans l'autre dossier ?Si tel est le cas, il vous suffit de suivre correctement le chemin. Supposons que la structure de vos dossiers est la suivante :
Si c'est la structure de dossiers que vous avez proposée et que vous souhaitez inclure le fichier "Script.php" dans le dossier "index.php", vous devez l'inclure comme ceci :
La façon dont je le fais est visuelle. Je place le pointeur de ma souris sur index.php (pour voir la structure des fichiers) et à chaque fois que je remonte dans un dossier, je tape un autre "../". Ensuite, vous devez vous assurer que vous montez dans la structure de dossiers au-dessus du dossier dans lequel vous souhaitez commencer à accéder. Après cela, c'est la hiérarchie normale des dossiers.
Vous pouvez accéder au
$_SERVER['DOCUMENT_ROOT']
répertoire racinedepuis chaque site en utilisant.Juste pour tester, vous pouvez imprimer le chemin pour vous assurer qu'il fonctionne,si vous le faites correctement.Vous ne voulez certainement pas afficher le chemin du serveur local, par exemplecontientetrequire.Site 1
Les fichiers inclus sous le site 1 doivent se trouver à :
Site 2
Code actuel pour accéder aux fichiers d'inclusion duSite 1à partir duSite 2:
Si vous essayez d'accéder à un fichier en excluant les
document root
和root
slashes, seul lecheminrelatif au fichier sur lequel la requête est effectuée sera utilisé (non infaillible ni non spécifique à la plateforme) :Le chemin inclus n'a sa place dans aucun code sur le front-end du site (en ligne) et doit être utilisé en toute sécurité dansEnvironnements de production uniquement.
De plus, pour les URL du site lui-même, vous pouvez les rendre relatives au nom de domaine. Les navigateurs remplissent automatiquement le reste car ils savent quelle page ils consultent. Alors n’utilisez pas :
Utilisez plutôt :
Pour un bon référencement, vous devez vous assurer que l’URL de votre blog n’existe pas sur un autre domaine, sinon il pourrait être marqué comme site en double. Dans ce cas, vous souhaiterez peut-être également ajouter une ligne au fichierpour le
robots.txt
Site 1 uniquement:Autres possibilités :
Recherchez votre adresse IPet incluez l'extrait de code suivant :
N'oubliez pas que si votre FAI modifie votreIP, par exemple si vous avez une IP dynamique DCHP, vous devrez modifier l'IP dans ce fichier pour voir les résultats. Je recommande de mettrecefichier dans un fichier d'inclusion, puis de l'exiger sur la page de débogage.
Si vous avez accès à des méthodes modernes comme leJournal de la consolede votre navigateur, vous pouvez utiliser le code suivant et l'afficher dans l'interface de débogage de votre navigateur :