Aller au contenu

Sujets conseillés

Posté (modifié)

Bonjour à tous,

Je cherche à gérer les accès sur un site intra où la navigation se fait uniquement avec une page.

En fait je n'appelle à chaque fois qu'une page affiche.php?rubrique=xx&article=yy cette page ayant un include de la page voulue.

<?php
//*********************************************************
//
// affiche.php
//
// Page principale du site intranet
//
// Ce script est appelé pour mettre en forme chaque page du site,
// y inclure les bandeau, barre de menu, colonne de gauche, prendre
// en compte les différences entre site de travail et site publié,
// mettre à jour les liens des pages d'informations développées par
//les webmestres délégués...
//
//********************************************************

$rub = (isset($_GET['rubrique'])) ? $_GET['rubrique'] : 1;
$art = (isset($_GET['article'])) ? $_GET['article'] : 1;

// fonction recherchant les variables de la page (lien, titre, données META...)
$var_page = def_page($rub,$art);

// Définition des headers de la page html
echo "<HTML lang=fr>\n";
echo "<HEAD>\n";
echo "  <TITLE>MON SITE INTRANET : ".$var_page['Titre']."</TITLE>\n";
echo "  <META content=\"".$var_page['MotsClefs']."\" name=keywords>\n";
echo "  <META content=\"".$var_page['Auteur']."\" name=Author>\n";
echo "  <META http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">\n";
echo "  <LINK href=\"styles/mon_style.css\" type=text/css rel=stylesheet>\n";
echo "  <LINK media=print href=\"styles/mon_style_print.css\" type=text/css rel=stylesheet>\n";
echo "</HEAD>\n\n<BODY>\n";

// include des éléments standards
echo "<TABLE><tr><td colspan=3>\n";
include("include/entete.php");
echo "</td></tr><tr><td>\n";
include("include/menu_gauche.php");
echo "     </td><td>\n";
// Je fais l'include de ma page
include($var_page['lien']);
echo "     </td><td>\n";
include("include/menu_droit.php");
echo "</td></tr><tr><td colspan=3>\n";
include("include/pied_page.php");
echo "</td></tr></table></body></html>\n";
?>

Or avec cette méthode, le fichier .htaccess n'est pas lu.

Quelqu'un aurait-il une solution ? Par avance Merci

Modifié par Rapace15
Posté

Bonjour,

Si le .htaccess n'est pas lu, ce n'est pas à cause de cette page, ni à cause de cette méthode.

Le .htaccess est lu avant tout script php, quelqu'il soit, quoiqu'il dise.

Cherches plutot à savoir ce qui cloches dans ton .htaccess, ou ce qui pourrait faire qu'il soit 'zappé'.

Anonymus.

Posté
Le .htaccess est lu avant tout script php, quelqu'il soit, quoiqu'il dise.

Pour autant que cette page soit accédée avec le protocole http ... sinon le .htaccess n'est pas lu, ce qui est le cas d'un include() ;)

Tu peux, si ton hébergeur le permet (si le flag allow_url_fopen est mis à 'true'), faire l'include en appelant la page avec une url complète (avec http://....)

Dans ce cas le fichier .htaccess sera lu.

Dan

Posté

Mon problème, c'est que la page à afficher n'est pas forcément dans le même dossier que affiche.php. Voici un exemple d'arborescence de mon site

| affiche.php (file)

| .htaccess (file - celui là est lu sans problème)

| include (directory - contient mes entêtes et pied de pages)

| | entete.php (file)

| | pied_page.php (file)

| | ....

| annuaire (directory - ne doit être accessible que par toto)

| | .htaccess (file - celui là n'est pas lu)

| | annu.php (fichier inclus dans affiche.php)

c'est bien une méthode pour protéger /annuaire/*.* en acces que je souhaiterais.

Posté
Tu peux, si ton hébergeur le permet (si le flag allow_url_fopen est mis à 'true'), faire l'include en appelant la page avec une url complète (avec http://....)

Dans ce cas le fichier .htaccess sera lu.

Dan

<{POST_SNAPBACK}>

OK, Merci Dan je vais essayez ceci

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...