URL Rewriting sur 1&1

WRInaute passionné
Bonjour à toutes et à tous

j'ai plusieurs sites Internet hébergés sur 1&1, notamment actuonline.com

J'aimerais bien que lorsque l'internaute tape

http://www.actuonline.com/nimportequoi
http://www.actuonline.com/nimportequoi.php
http://www.actuonline.com/nimportequoi/nimportequoi.php

Il retombe sur ma page d'erreur. Voici mon .htaccess:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^actuonline.com$

RewriteRule ^(.*) http://www.actuonline.com/$1 [QSA,L,R=301]


ErrorDocument 200 /erreur.php
ErrorDocument 403 /erreur.php
ErrorDocument 404 /erreur.php
ErrorDocument 500 /erreur.php

Bonjour à toutes et à tous

j'ai plusieurs sites Internet hébergés sur 1&1, notamment actuonline.com

J'aimerais bien que lorsque l'internaute tape

Le premier cas http://www.actuonline.com/nimportequoi fonctionne bien.
Le second cas http://www.actuonline.com/nimportequoi.php ne fonctionne pas du tout.
Le troisième cas fonctionne http://www.actuonline.com/nimportequoi/nimportequoi.php mais la feuille css de la page erreur.php n'est pas chargée...

Comment expliquer cela? Comment puis-je faire?

Cordialement
 
WRInaute passionné
200 n'est pas une erreur. C'est le code renvoyé en cas de succès.

sinon c'est tout bon au niveau htaccess.

pour le deuxième je ne comprends pas.

pour le dernier il faut soit ajouter un <base href="http://www.actuonline.com/"> dans le <head> soit faire commencer tous les href par / pour indiquer un chemin depuis la racine :
Code:
<link rel="shortcut icon" type="image/x-icon" href="/images/favicon.gif" />
<link rel="stylesheet" type="text/css" href="/css/styles.css" />
 
WRInaute passionné
forty

Je viens de modifier la feuille css c'est bizarre que dans un cas elle s'affiche et dans l'autre non mais le probleme est resolu

Je dois supprimer la ligne "ErrorDocument 200 /erreur.php"? Car depuis que je l'ai ajouté, actuonline.com/nimportequoi/nimporteuoi.php est réorienté (certes vers une page sans css) alors qu'avant non.

Enfin, comment faire pour que si on tape www.actuonline.com/nimportenawak.php la page erreur s'affiche (pourtant quand on tape http://www.actuonline.com/nimportenawak.html, cela marche).

Cordialement et merci pour toute ton aide forty
 
WRInaute passionné
si une url dans un href ne commence pas par / elle est relative au répertoire appelé. Si tu appelles -http://www.actuonline.com/nimportequoi/nimportequoi.php le répertoire est /nimportequoi (même si il n'existe pas physiquement)

la ligne "ErrorDocument 200 /erreur.php" n'as pas de sens puisque le code retour 200 n'est envoyé que si le serveur répond correctement et qu'il n'y a pas d'erreur.

essaye d'ajouter cette ligne dans ton htaccess :
Code:
Options -MultiViews
 
WRInaute passionné
salut forty
Ok mais pour le répartoire qu'il soit /nimporteou quoi ou autre il est censé cherché le .htaccess a la racine du serveur. Donc je ne vois pas pourquoi il n'afficherait pas de page d'erreur? La ca s'affiche bien mais il y a quand meme errreur mis en bas a gauche de la fenetre actuonline.com/nimportenawak/pagebidon.php

j'ai supprimé le code erreur documment 200 et rajouter ton code mais rien n'a changé...


timan

Je sais mais je emts mon adsense dans un fichier de fin de page commun a toutes les pages. Comment je peux faire pour modifier des pages sans créér un bloc adsense ou non spécifique a chaque page?

Cordialement
 
WRInaute passionné
il va falloir que tu révises les liens relatifs et absolus. Dans ta page html -actuonline.com/nimportenawak/pagebidon.php quand tu vois un lien avec href="unpage.php" ou une image avec src="image.gif" le navigateur recherche ce fichier ou cette image dans le répertoire /nimportenawak
Il y a donc deux solutions pour résoudre ce problème : ajouter un <base href="http://www.tonsite.fr/"> indiquant la racine des liens relatifs
la deuxième solution est d'indiquer les href ou src avec un lien absolu : href="http://www.tonsite.fr/unepage.php" ou href="/unepage.php" ou href="../unepage.php" (idem pour image)
 
WRInaute passionné
mes images ont comme adrese quelque chose du type <img src="<? echo $repertoire; ?>monimage.jpg"> avec <? $repertoire="images_article/"; ?>

Devrais je plutot mettre actuonline.com/images_article dans la variable???
Mais je ne comprends pas par ton code <base>. la racine c'est la racine, la ou il y a l'index, non? Je ne vois pas ou est le probleme?

Mais pour le deuxieme lien, je ne comprends pas pourquoi une url du type monsite.com/une-page-bidon.php ne renvoit rien. le .htaccess est il fait pour rien???
 
WRInaute passionné
pour l'erreur 404 ca doit être un problème avec ton hébergeur

pour la balise base : -http://www.startyourdev.com/HTML/Balise-BASE.html
 
WRInaute passionné
ok je pense avoir vaguement compris... Mais je la mets ou cette base? Seulement sur l'accueil? sur toutes les pages du site? Ou encore dans mon htaccess?

Mais ce que je ne parviens pas a comprendre c'est pourquoi mon hatccess redirige monsite.com/a/b.php quand il n'arrive pas a le faire avec un simple monsite.com/a.php?

Cordialement
 
Discussions similaires
Haut