J’ai installé le serveur PHP et Apache sur mon ordinateur. Donc, à l’intérieur de “htdocs”, j’ai créé 2 fichiers (index.php, Contact.php) et un répertoire (MyClass), après cela, à l’intérieur de “MyClass”, j’ai créé un fichier (class.php).
Dans le navigateur Web lorsque j’utilise l’URL ” http: //localhost/MyClass/class.php “, le résultat est: “class.php” envoi de données au navigateur Web.
Dans la même situation, existe-t-il un moyen dans PHP / Apache d’en prendre le contrôle depuis “index.php”?
Ou
Je veux être au courant de toutes les demandes à l’intérieur de “index.php” qui est venu du navigateur Web, est-ce possible ????
Mais je ne veux pas utiliser de variable GET comme ” http: //localhost/index.php? Class = page2 “ ..
Excuses pour mon mauvais anglais.
Merci..
Vous devriez utiliser include
, dans votre cas, vous utiliseriez
include 'MyClass/class.php';
Plus d’informations sur include
peuvent être trouvées ici
Je ne suis pas sûr de comprendre correctement mais un moyen de ne pas utiliser? Class = page2
est de créer un fichier .htaccess
RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
Cela va réécrire toutes les requêtes vers des fichiers ou des dossiers non existants vers votre index.php utiliser $ _SERVER [‘REQUEST_URI’] pour rendre votre navigation. Par exemple, vous pouvez utiliser http: // localhost / class / page / 2
$ _SERVER [‘REQUEST_URI’] serait alors class / page / 2
Si votre site Web est dans un sous-dossier de htdocs, assurez-vous de modifier
RewriteBase /dir/here/ [...] RewriteRule . /dir/here/index.php [L]
pour le faire correspondre
Mon problème résolu
Quels changements j’ai faits, ils sont ci-dessous:
Dans “C: \ Apache24 \ conf”, vous devez modifier le fichier “httpd.conf”
Juste actif:
1)
LoadModule rewrite_module modules/mod_rewrite.so
2)
#AllowOverride none AllowOverride All Require all denied
3) J’utilise “Virtual Host”, donc dans “C: \ Apache24 \ conf \ extra” vous devez changer le fichier “httpd-vhosts.conf”
NameVirtualHost *:80 ServerAdmin [email protected] DocumentRoot "E:/TEST" Allow From All RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule . /index.php [L] ServerName test.com ServerAlias www.test.com ErrorLog "logs/test.com-error.log" CustomLog "logs/test.com-access.log" common
Si vous n’utilisez pas “Virtual Host”, alors je pense que vous devez append quelques lignes au “Répertoire” à l’intérieur de “httpd.conf” !!
Allow From All RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule . /index.php [L]
Utilisez la fonction PHP include
. Vous pouvez inclure votre MyClass / class.php dans votre fichier d’index. Vous pouvez ensuite append un fichier htaccess pour restreindre l’affichage des fichiers du répertoire MyClass.