Votre question

[Résolu] .htaccess Rewrite 1&1

Tags :
  • Php
  • Programmation
Dernière réponse : dans Programmation
18 Juin 2010 14:54:00

Bonjour à tous, cela fait longtemps que je n'avais pas buté sur un problème avec mes sites.

Alors sur mes sites je veux modifier les url de monsite.fr/index.php?p=page1 à monsite.fr/page1

J'ai donc les fichiers suivant sur le serveur mutualisé de chez 1&1:

1-index.html qui est ma page de présentation du site.
2-index2.php avec ce code:

  1. <?php
  2. if(!isset($_GET["p"])){ $_GET["p"]="accueil"; }
  3. if(!file_exists($_GET["p"].".php")){ $_GET["p"]="erreur"; }
  4. ob_start();
  5. include $_GET["p"].".php";
  6. $content = ob_get_contents();
  7. ob_end_clean();
  8.  
  9. include "template.php";
  10. ?>


3-quelque pages php de contenu, comme accueil.php, erreur.php, news.php, presse.php...etc

4-template.php avec le code du template du site et au milieu:

  1. <head>
  2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  3. <title><a href="http://www.monsite.fr&lt" rel="nofollow" target="_blank">www.monsite.fr&lt</a>;/title>
  4. <link href="moncss.css" rel="stylesheet" type="text/css" />
  5. <link href="zoombox/zoombox.css" rel="stylesheet" type="text/css" media="screen"/>
  6. <script type="text/javascript" src="/zoombox/jquery.js"></script>
  7. <script type="text/javascript" src="/zoombox/zoombox.js"></script>
  8. <script type="text/javascript">
  9. </head>
  10.  
  11. <div id="menu"><?php include "menu.php" ?></div>
  12.  
  13. <div id="contenu"><?php echo $content; ?></div>
  14.  
  15. <div id="footer"><?php include "footer.php"; ?></div>


5-.htaccess

  1. RewriteEngine On
  2. RewriteCond %{REQUEST_FILENAME} !-d
  3. RewriteCond %{REQUEST_FILENAME} !-f
  4. RewriteRule ^(.*)$ index2.php?p=$1 [QSA,L]


TRES IMPORTANT: Voilà ma Question: Quand j'applique ce code avec le logiciel Wamp sur windows 7 dans Firefox, Pas de souci, les urls se réécrivent parfaitement. Mais dès que j'envois les fichiers sur le serveur de 1&1 et que je vérifie en ligne PB.

Les solutions que j'ai testés:
1- dans le .htaccess écrire ceci comme le preéconsie 1&1 ici: Comment activer l'url rewriting:

]http://faq.1and1.fr/hebergements/htaccess/5.html]

2-J'ai aussi tenté tous ce qui se trouve sur le site de 1&1 et je les mêmes appelés et pas de changement, est ce mon code?
Toutes les infos:
]http://faq.1and1.fr/hebergements/htaccess/]

Quelqu'un peut il me proposé une solution car je bloque...merci par avance.

Autres pages sur : resolu htaccess rewrite amp

19 Juin 2010 03:09:50

Il manque 2 lignes dans ton htaccess si on suit les instructions de 1and1. Tu as oublié d'activer les FollowSymLinks
ça devrait donc ressembler à ça :
  1. Options +FollowSymLinks
  2. RewriteEngine On
  3. RewriteBase /
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteRule ^(.*)$ index2.php?p=$1 [QSA,L]

m
0
l
19 Juin 2010 10:42:47

Seb33300 a dit :
Il manque 2 lignes dans ton htaccess si on suit les instructions de 1and1. Tu as oublié d'activer les FollowSymLinks
ça devrait donc ressembler à ça :
  1. Options +FollowSymLinks
  2. RewriteEngine On
  3. RewriteBase /
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteRule ^(.*)$ index2.php?p=$1 [QSA,L]



Déja testé et donné ds le message d'origine:

Citation :
Les solutions que j'ai testés:
1- dans le .htaccess écrire ceci comme le preéconsie 1&1 ici: Comment activer l'url rewriting:
m
0
l
19 Juin 2010 13:59:31

Bonjour à tous, nous sommes le 19 Juin 2010 à 12h22 j'ai résolu mon problème de la façon suivante:
Rajouter -Multiviews après Options +FollowSymLinks comme ceci:




  1. AddType x-mapp-php5 .php
  2. Options +FollowSymLinks -MultiViews
  3. RewriteEngine On
  4. RewriteBase /
  5. RewriteCond %{REQUEST_FILENAME} !-d
  6. RewriteCond %{REQUEST_FILENAME} !-f
  7. RewriteRule ^(.*)$ index2.php?p=$1 [QSA,L]



Cela permet de supprimer le mode multiviews:

Cette option met en œuvre la négociation de contenu. Elle permet par exemple en appelant une url http://www.example.com/unepage de rechercher le script le plus approprié. Si la page http://www.example.com/unepage n'existe pas le serveur va rechercher http://www.example.com/unepage.php . Il s'agit donc de rewriting intelligent.

Pour désactiver cette option il suffit d'ajouter la ligne suivante dans le fichier ".htaccess" :

Options -Multiviews

Sinon pour l'activer il suffit d'ajouter la ligne suivante dans le fichier ".htaccess" :

Options +Multiviews
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS