Aller au contenu

définir la racine du site


ElMoustiko

Sujets conseillés

Je cherche à définir la racine de mon site dans ma page, (ou avec un autre moyen, style htaccess je suppose).

Par exemple, là j'ai mon site qui est sur www/tutoriels/ et donc les liens du type : <a href="/dossier/">...</a> renvoient à www/dossier/ moi je voudrais redéfinir la racine du site pour le dossier tutoriels, de façon à ce que /dossier/ renvoi à www/tutoriels/dossier/

Et si je fais un lien <a href="/">...</a> ca renvoi à www/tutoriels/ et non à www/

C'est possible via meta ? ou peut etre via le fichier htaccess ?

J'espere que j'ai été clair dans mon problème.

@++

Lien vers le commentaire
Partager sur d’autres sites

Si je fais ça, ça redéfinit la racine du site pour cette page en tant que .../tutoriels/ ??

Ca fonctionne sur tous les navigateurs ?

En l'occurence ça serait plutot pour http://www.elmoustikoblog.net/tutoriels/ ;) mais ca ne change rien à la question, par contre, est ce que je peux mettre :

<base href="/tutoriels/" /> à la place ?

Donc si j'ai bien compris (histoire de mettre au clair dans mon espit embrumé), avec <base href="/tutoriels/" /> (ou avec l'adresse complète si c'est pas possible comme ca)

je peux faire mes liens comme ceci : <a href="/php/">..</a> et ca pointera vers /tutoriels/php/

Après un test rapide en local avec

<base href=&quot;http://localhost/tutoriels/" /> et <base href="/tutoriels/" />

et un lien <a href="/">..</a> je pointe vers ht*p://localhost/ au lieu du ht*p://localhost/tutoriels/ souhaité, ca ne semble donc pas fonctionner...

Modifié par ElMoustiko
Lien vers le commentaire
Partager sur d’autres sites

Raahhh j'en ai marre de DreamWeaver, on fait une recherche qui n'a rien à voir "définir la racine d'un site", "racine d'un site", "racine site htaccess" et à chaque fois on tombe sur des liens vers cette bouze... non seuleument il fait une soupe immonde pour la plupart mais en plus vu que tout le monde l'utilise il n'y en a que pour lui... rahh impossible d'avoir une quelconque information...

Si vous avez des idées pour mon problème...

Modifié par ElMoustiko
Lien vers le commentaire
Partager sur d’autres sites

Salut,

Tu peux toujours utiliser le php :

Définir une constante (la racine)

define ("RACINE", "http://localhost/tutoriels/");

Attention à respecter les majuscules pour le nom de la constante.

Lorsque que tu fait un lien :

<a href="<? echo RACINE;?>dossier/page.php">Lien</a>

PS : Ca n'a rien a voir mais pourquoi ecrire ht*p://localhost ? :huh:

Lien vers le commentaire
Partager sur d’autres sites

Pour ta solution Titag, autant que j'écrive <a href="/tutoriels/php/"> plutot que <a href="<? echo RACINE;?>php/">, mais merci quand même.

Pour le ht*p j'ai mis une étoile à la place du t pour inhiber le lien, sinon il y aurait eu un lien vers localhost.

Lien vers le commentaire
Partager sur d’autres sites

ElMoustiko,

Tu ne dis pas si tu es sur serveur dédié ?

Dans l'affirmative, il suffit de changer le paramètre DocumentRoot correspondant au domaine dans le fichier de configuration Apache.

Dan

Lien vers le commentaire
Partager sur d’autres sites

Je suis hébergé chez celeonet sur l'offre pimaire. Ca ne doit donc pas etre un serveur dédié :) Mais je n'ai pas pensé à le préciser ne pensant pas que ca servirait.

Et via htaccess, il n'y a pas une solution ? (le mieux serait une solution style meta donnée, mais je suis pas certain que ca existe).

Je pensais aux regles de réécriture, en redirigeant les /php, /truc, /machin, ... vers /tutoriels/php, /tutoriels/truc, /tutoriels/machin, ... mais je n'arrive pas à utiliser le fichier htaccess ne fonctionne pas en local, il me fait une erreur 500, internal server error ou un truc du genre, et je ne sais pas comment utiliser mon htaccess en local poutr mes tests...

Je me disais qu'il pouvait y avoir un balise style <base> que m'indiquait Xavier...

Voilà...

Lien vers le commentaire
Partager sur d’autres sites

Pour ta solution Titag, autant que j'écrive <a href="/tutoriels/php/"> plutot que <a href="<? echo RACINE;?>php/">, mais merci quand même.

En effet... sauf que si tu veux changer la racine, tu fait une seule modification au lieu de modifier tous tes liens ;)

Lien vers le commentaire
Partager sur d’autres sites

Oui mais a priori je ne changerais pas la racine et je suis sûr que ca existe ce genre de manip, enfin je serais étonné que non en tout cas...

Donc avec la manip que je recherche, un seul truc à changer au changement de racine et rien à écrire dans les liens ;)

Lien vers le commentaire
Partager sur d’autres sites

Bon en fait, j'ai réussi à faire fonctionner mon fichier htaccess en local, je n'avais pas redémarré easyphp après la suppression des # pour les lignes concernant le mod rewrite.

Mais ma règle de réécriture semble ne pas fonctionner :

RewriteEngine on

RewriteRule /$1 /tutoriels/$1

Ma règle est peut être (sûrement) mauvaise, mais a t elle des chances de fonctionner ? (avec un syntaxe correcte) ?

J'ai mis mon fichier htaccess dans mon dossier tutoriels.

(rappel de l'arbo :

www/tutoriels/php/dossier

www/tutoriels/js/dossier

www/tutoriels/css/dossier )

{edit}

Je viens de voir sur ce topic : http://www.webmaster-hub.com/index.php?showtopic=5835

qu'on peut définir le fichier à afficher par défaut, si rien n'est spécifié, on pourrait pas faire pareil avec mon histoire de dossier ?

{edit2}

J'ai peut etre trouvé un truc :

http://www.eisti.fr/res/manual/mod/core.dim#documentroot

Mais en utilisant ceci :

DocumentRoot /tutoriels

D'apres le lien, localhost/php devrait renvoyer à localhost/tutoriels/php mais j'ai une erreur 500

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, admin_AT_localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Si quelqu'un connait cette manip au niveau du fichier htaccess, je suis preneur.

Modifié par ElMoustiko
Lien vers le commentaire
Partager sur d’autres sites

Pour l'instant j'utilise la version de Titag, ca fonctionne impec (merci ;)) Mais ca m'enerve de devoir écrire <? echo RACINE ; ?> a chaque lien ;)

Euh question débile, je peux mettre ce que je veux à la place de RACINE ? je suis sûr à 99.9% que oui puisque c'est pas de l'anglais ;)

Donc si vous avez autre chose à me suggérer, n'hesitez pas ;)

@++

Lien vers le commentaire
Partager sur d’autres sites

Si je fais ça, ça redéfinit la racine du site pour cette page en tant que .../tutoriels/ ??

Ca fonctionne sur tous les navigateurs ?

En tous cas tous ceux qui supportent le HTML 3.2, et même le 2.0, autant dire qu'il n'y a pas trop de soucis de ce côté là :P

D'ailleurs c'est couramment utilisé !

En l'occurence ça serait plutot pour http://www.elmoustikoblog.net/tutoriels/ ;) mais ca ne change rien à la question, par contre, est ce que je peux mettre :

<base href="/tutoriels/" /> à la place ?

Alors ça je sais pas...

Donc si j'ai bien compris (histoire de mettre au clair dans mon espit embrumé), avec <base href="/tutoriels/" /> (ou avec l'adresse complète si c'est pas possible comme ca)

je peux faire mes liens comme ceci : <a href="/php/">..</a> et ca pointera vers /tutoriels/php/

Je dirais plutôt <a href="php/"> sans le / au début.

Attention parce que tes liens internes du genre <a href="#contenu"> iront vers /tutoriels/#contenu et pas /tutoriels/page.html#contenu si tu est sur page.html.

Après un test rapide en local avec

<base href=&quot;http://localhost/tutoriels/" /> et <base href="/tutoriels/" />

et un lien <a href="/">..</a> je pointe vers ht*p://localhost/ au lieu du ht*p://localhost/tutoriels/ souhaité, ca ne semble donc pas fonctionner...

<{POST_SNAPBACK}>

À mon avis le "/" au début surpasse la balise base et du coup ça va à la racine.

Avec un base href tu n'as plus besoin de mettre ce "/" devant tes adresses, tu les entres comme si tu étais sur la page /tutoriels/index.htm ;)

Lien vers le commentaire
Partager sur d’autres sites

Euh question débile

Ca n'existe pas :)

je peux mettre ce que je veux à la place de RACINE ?

Absolument. La fonction Define sert à attribuer une valeur à une constante. Dans ton cas, tu decide que la constante RACINE aura la valeur [color=blue]http://localhost/tutoriels/

Cf. fr.php.net

Modifié par Titag
Lien vers le commentaire
Partager sur d’autres sites

Oui mais moi, je n'ai jamais de fichier index.html ou ce genre de truc, toutes mes url seront du type domaine.net/tutoriels/dossier/dossier/

Donc pour faire un lien vers l'accueil (domaine.net/tutoriels/) il faudrait que je fasse href="/" mais avec ta technique aparement il ne faut pas mettre de / au début, donc href="" c'est possible ?

Je retesterais plus tard.

Pour les #ancre, si je n'ai jamais d'url avec nom de fichier à la fin, ca pointera vers domaine.net/tutoriels/dossier/#ancre et ca devrait fonctionner en principe je pense.

Donc, je test ça dans pas longtemps, je te dirais le résultat.

@++ et merci

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

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



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