Comment exécuter index.php

WRInaute discret
Un script doit être installé à la racine de mon site web. Pour que le script s'exécute correctement, le htaccess à la racine doit contenir:

RewriteEngine on
Options +FollowSymLinks
RewriteCond %{REQUEST_URI} !(main\.php)
RewriteCond %{QUERY_STRING} !(direct)
RewriteRule (.*) main.php?page=$1 [PT]
RewriteCond %{QUERY_STRING} (direct)
RewriteRule (.*) $1 [PT]

Ma question: comment lancer une fichier index.php à la racine du site ?

Merci pour votre aide.
 
WRInaute impliqué
Je ne suis pas certain d'avoir bien compris mais avec ça, pour exécuter index.php il faut que tu tapes index.php?direct
 
WRInaute discret
Ta solution fonctionne très bien. Merci de ton aide.

Je m'explique autrement:

- Le script s'installe à la racine du site. A la racine, il n'y a pas de fichier index. Seulement le fichier htaccess et le fichier main.php. Les autres fichiers php sont dans un dossier include. Lorsque je lancais le site, tout fichier index à la racine était ignoré.

- root
-- htaccess
-- main.php
-- index.*

Je me demande si cette extension ?direct peut nuire au référencement de mon site ou si on peut réécrire le url writing pour la balancer.
 
WRInaute impliqué
Si tu veux que ton index.php passe au travers des règles de rewriting,
transforme
RewriteCond %{REQUEST_URI} !(main\.php)
en
RewriteCond %{REQUEST_URI} !^(main|index)\.php$
 
WRInaute discret
Index.php n'a pas passé au travers.

Avec RewriteCond %{REQUEST_URI} !^(main|index)\.php$, j'obtiens ces erreurs:

Warning: main(/blabla/public_html/include/main.php.php): failed to open stream: No such file or directory in /blabla/public_html/main.php on line 25
et
Warning: Smarty error: unable to read template resource: "" in /blabla/public_html/smarty/Smarty.class.php on line 546
 
WRInaute discret
Dj_Apx a dit:
Code:
DirectoryIndex index.php
;)

Ca aurait dû marcher mais non, le script est lancé avec http://www.mondomaine.org :?


DirectoryIndex index.php

RewriteEngine on
Options +FollowSymLinks
RewriteCond %{REQUEST_URI} !(main|index)\.php$
RewriteCond %{QUERY_STRING} !(direct)
RewriteRule (.*) main.php?page=$1 [PT]
RewriteCond %{QUERY_STRING} (direct)
RewriteRule (.*) $1 [PT]

Où est l'erreur ?

Edit: Il y a 2 autres fichiers php à la racine. Je suppose qu'ils vienennt bousiller le truc. Merci à vous deux pour votre aide.

@+
.
 
WRInaute impliqué
karan a dit:
Il y a 2 autres fichiers php à la racine. Je suppose qu'ils vienennt bousiller le truc.
En plus il ne faut pas oublier qu'une règle placée à la racine est valable dans tous les sous-répertoires. Donc si tu as des index.php dans des sous-répertoires, ça fait faire des trucs bizarres.

Donc, c'est difficile de résoudre ton problème comme ça à l'aveugle, ça demande un peu d'attention...
 
Discussions similaires
Haut