Aller au contenu

Messages recommandés

Hello tous!

Ce n'est pas une nécessité en soi mais plutôt une explication pour mes connaissances dans le domaine du web que je vous demande.

Voilà, dans mon dossier "web" du syno, j'ai plusieurs sous-dossiers, la plupart correspondant à des sites (perso, etc.). De plus, j'ai un nom de domaine chez ovh.

Chez ce-dernier, j'ai créé des redirections afin qu'une adresse particulière pointe vers un des sous-dossiers de "web" du syno (via virtual host).

Par exemple: dossier1.mondomaine.com pointe vers mon dossier 1 qui est mon site 1. C'est cool...

Seulement, si je tape l'url: mondomaine.com/dossier1, j'accède de la même manière à mon site 1.

C'est parfaitement logique me direz-vous, mais alors, quel est l'intérêt de ces redirections/ sous-domaines? Sur d'autres hébergements perso (type Free), ce comportement n'est pas valable. On tombe sur une erreur 401.

Quelle est donc la différence? Comment expliquer ce comportement et est-il possible de le reproduire sur mon Syno?

Merci pour vos lumières ;-)

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

Bonjour

c'est encore moi qui te repond

il faut ajouter dans ton fichier .htaccess

# URL rewriting module activation
RewriteEngine on

#redirections
RedirectPermanent http://mondomaine.com/dossier1/index.html http://dossier1.mondomaine.com/index.html (ou index.php)

Patrick

Lien vers le commentaire
Partager sur d’autres sites

Hello Patrick!

Une fois de plus, merci pour ton aide.

J'essaye de comprendre le fonctionnement des lignes que tu m'a proposé. Pour qu'à la racine du site ça fonctionne, j'ai dû mettre:

# URL rewriting module activation
RewriteEngine on
#redirections
RedirectPermanent http://dossier1.mondomaine.com/index.html

(reproduire à l’exactitude ton code ne donnait aucun résultat)

J'ai créé le.htaccess dans ce répertoire racine.

Désormais, lorsque je saisis http://dossier1.mondomaine.com/ j'arrive sur le site et lorsque je saisis http://mondomaine.com/dossier1/ je n'y accède plus. C'est ce que je voulais, c'est cool ;-)

Maintenant, il y a un problème. Quand je veux accéder à http://dossier1.mondomaine.com/ soussection1, ben pareil, je peux plus... Ah!

J'aime le web, vraiment. Hé hé... J'ai merdé quelque part?

Lien vers le commentaire
Partager sur d’autres sites

Re!

Hum... Le doute m'habite...

Pour créer un sous-domaine, je ne suis plus sûr. Voilà ce que j'ai:

1. côté OVH --> j'ai créé un champ de type "A" avec site1.mondomaine.com pointant vers mon IP public.

2. mon IP public pointe vers mon NAS.

3. côté NAS --> j'ai créé un Virtual Host redirigeant via port 80 vers mondoamine.com(dossier web donc)/site1

Est-ce que j'ai bon? Je peine à comprendre cette étrangeté...

Lien vers le commentaire
Partager sur d’autres sites

Je me permet de remonter car j'ai beau chercher, ben je trouve pas (ou ne comprends pas peut-être ;-) ).

J'ai modifié tous mes champs de type "A" en "CNAME" en pensant que c'était le problème mais non.

Que je saisisse l'une ou l'autre adresse, j'arrive au même site (comment font les hébergeurs type Free pour automatiser cette opération?).

Help :unsure:

Lien vers le commentaire
Partager sur d’autres sites

essaye plutôt avec une RewriteRule

RewriteRule ^dossier1/(.*)$ http://dossier1.mondomaine.com/$1 [R=301]

Hello psuken! Merci pour ta réponse ;-)

Malheureusement, pas plus de succès (c'est compliqué le web en fait :wacko: )

Vu que tout ça reste abstrait, je vous livre les adresses véritables:

http://prod.arandel.net/ (ça c'est la bonne)

http://arandel.net/prod/ (celle-là elle marche aussi alors que je voudrais pas!)

Mon .htaccess donne ça:

RewriteRule ^prod/(.*)$ http://prod.arandel.net/$1 [R=301]

C'est un mini site que je déménage de http://arandel.free.fr/ .

D'ailleurs, quand vous faites http://free.fr/arandel ça donne 404 not found!

Et c'est exactement ce comportement que je souhaite... Je dois être un peu neuneu... :P

Lien vers le commentaire
Partager sur d’autres sites

Tu as bien activé le Rewrite dans ton htaccess ?

RewriteEngine on

La règle de redirection est bonne. Tu peux la tester sur : http://martinmelin.se/rewrite-rule-tester/

# | Match? | Rule | Resulting URL

1 | yes | RewriteRule ^prod/(.*)$ http://prod.arandel.net/$1 [R=301] | http://prod.arandel.net/mapage.html

Et oui, des fois le web c'est compliqué.. mais ça permet d'apprendre ! :)

Dans le cas de l'erreur 404 chez Free, c'est parceque c'est géré de façon différente. Le sous-domaine free ne correspond pas un dossier placé dans le root de free.fr.

Si tu veux réellement renvoyer une erreur 404, c'est faisable mais d'un point de vue visibilité et accessibilité de ton site, la redirection 301 est mieux.

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

Je commence tout doucement à piger mais j'en suis encore loin! Cela ne fonctionne toujours pas, les deux adresses fonctionnent toujours... Voici mon .htaccess complet:

# URL rewriting module activation
RewriteEngine on
#redirections
RewriteRule ^prod/(.*)$ http://prod.arandel.net/$1 [R=301]

Et, si j'ai bien compris, je peux renvoyer une erreur 404 simplement en changeant [R=301] en [R=404]?

Autre question: il n'aurait pas été possible de gérer ça directement depuis le Cpanel d'OVH (où j'ai créé tous mes CNAME)?

Encore merci du support...

Lien vers le commentaire
Partager sur d’autres sites

Ton htaccess semble bon. A quel endroit l'as tu placé sur serveur ?

Petite explication de texte : :)

RewriteEngine on => Active le module de réécriture d'URL d'Apache

RewriteRule => Indique une règle de réécriture d'URL

^prod/(.*)$ => Capture tout ce qui se situe après "prod/" dans l'adresse

http://prod.arandel.net/$1 => place à la fin de http://prod.arandel.net/ tout ce qui a été capturé à l'étape précédente ($1).

[R=301] => Indique une redirection permanente. Ceci va indiquer aux moteurs de recherche que le site www.arandel.net/prod a été déplacé vers prod.arandel.net (cf http://en.wikipedia.org/wiki/HTTP_301)

Pour toi ce n'est pas le cas mais il arrive que les sous-domaines (prod.) soient placés sur un serveur différent du domaine principal (arandel.net).

Pour l'erreur 404, il faudrait faire :


RewriteRule ^prod/(.*)$ - [R=404]
Lien vers le commentaire
Partager sur d’autres sites

Re! Merci pour toutes ces précieuses explications. J'ai testé les deux configurations (301 et 404). Ce qui donne:

301

Options +FollowSymlinks
# URL rewriting module activation
RewriteEngine on
#redirections
RewriteRule ^prod/(.*)$ http://prod.arandel.net/$1 [R=301]

404

Options +FollowSymlinks
# URL rewriting module activation
RewriteEngine on
#redirections
RewriteRule ^prod/(.*)$ - [R=404]

Malheureusement, je bloque toujours et ce dans les deux cas. Les .htaccess sont bon? Il faut bien les placer (l'un ou l'autre évidement) dans le dossier prod n'est-ce pas?

L'adresse arandel.net/prod fonctionne encore. En ajoutant un espace entre + et FollowSymlinks, les deux ne fonctionnent plus. Je vois donc bien que ça bouge pourtant.

J'ai dû louper un truc... M'en fous, j'y arriverais!! ;)

Lien vers le commentaire
Partager sur d’autres sites

Et si tu mettais :

RewriteRule ^prod(.*)$ http://prod.arandel.net$1 [R=301]

Sans le "/" a la fin de "prod"

Patrick

Hello Patrick! Merci pour ta réponse... Voilà mon nouveau .htaccess (version 301):

Options +FollowSymlinks

# URL rewriting module activation

RewriteEngine on

#redirections

RewriteRule ^prod(.*)$ http://prod.arandel.net/$1 [R=301]

Seulement, toujours pas... :wacko:

http://arandel.net/prod/ est toujours accessible... Mon .htaccess est-il complet?

Lien vers le commentaire
Partager sur d’autres sites

C'est bien étrange. Je n'ai pas serveur sous la main pour tester mais pour moi ton htaccess est bon. Tu pourrais même ajouter le flag NC au cas ou ...

RewriteRule ^prod/(.*)$ http://prod.hostname/$1 [NC,R=301]

Pour l'emplacement du fichier, si tu le places dans web/prod/ il sera pris en compte. si tu le places dans web/ il sera pris enc ompte uniquement s'il n'y a pas de .htaccess dans web/prod/

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

En même temps... une RewriteRule ne modifiera pas l'URL dans la barre d'adresse... J'aurai peut-être du mettre mon cerveau en route plus tôt !

@Partick, si je ne trompe pas, le trailing slash sera ajouté automatiquement.

Question bête qui ne remet pas en cause le traitement du sujet. Ca change quoi d'avoir prod.domaine.net au lieu de www.domaine.net/prod ?

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

Messieurs...

Voilà mon nouveau .htaccess (version 301):

Options +FollowSymlinks
# URL rewriting module activation
RewriteEngine on
#redirections
RewriteRule ^prod(.*)$ <a href="http://prod.arandel.net$1">http://prod.arandel.net$1</a> [NC,R=301]

Désormais, aucune des deux adresses ne répond... Mon cœur est en train de partir... :rolleyes:

Logiquement, par cette version, l'URL devrait être réécrite c’est bien ça? Il transformerait http://arandel.net/prod en http://prod.arandel.net right?

@ psuken

Question bête qui ne remet pas en cause le traitement du sujet. Ca change quoi d'avoir prod.domaine.net au lieu de www.domaine.net/prod ?

Ben pour plusieurs raisons:

- pour une gestion logique du site

- parce que j'aime comprendre ce que je fais

- parce que c'est le but d'un sous-domaine

'Fin voilà quoi... Je suis désolé pour tout ce remue ménage. Je pensais que ce serait plus simple...

EDIT

J'oubliais: je fais tout ça depuis l'extérieur (en chargeant mes .htaccess depuis le DSM). Mais ça ne change rien?

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

Comme je l'ai dis plus tôt, ca ne modifie pas l'URL dans la barre d'adresse... donc a mon avis àa marche mais ca ne se voit pas :)

Changeons de méthode

Options +FollowSymlinks

# URL rewriting module activation
RewriteEngine on

#redirections
RedirectMatch 301 ^prod/(.*)$ http://prod.arandel.net/$1

Edit: mets le htaccess dans web/ au lieu de web/prod pour voir.

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

Re!

Comme je l'ai dis plus tôt, ca ne modifie pas l'URL dans la barre d'adresse... donc a mon avis àa marche mais ca ne se voit pas :)

L'idée ce serait que ça se voit quand même (sinon quel est l'intérêt de la commande?). Il faudrait que quand je saisis http://arandel.net/prod :

- soit ça se transforme en http://prod.arandel.net

- soit (le best pour moi) ça génère une 404

Sinon, j'ai tenté:

Options +FollowSymlinks

# URL rewriting module activation
RewriteEngine on

#redirections
RedirectMatch 301 ^prod(.*)$ http://prod.arandel.net$1

Puis

Options +FollowSymlinks

# URL rewriting module activation
RewriteEngine on

#redirections
RedirectMatch 301 ^prod/(.*)$ http://prod.arandel.net/$1

à chaque fois soit dans web/ soit dans web/prod et le résultat est toujours le même... Cette adresse (http://arandel.net/prod) commence à me courir sur le ****...

Vous allez finir par me détester... :wacko:

Lien vers le commentaire
Partager sur d’autres sites

C'est quand même étrange... la config est bonne, ça devrait fonctionner...

Tiens un peu de lecture en attendant qu'on trouve pourquoi ça ne fonctionne pas. http://alexandre.alapetite.fr/doc-alex/redirections/index.fr.html

Je deviens dingue sur ce truc. Cela m'apparait pourtant simple de loin mais maintenant que je suis dedans... En tout cas, merci pour les infos (je vais continuer à faire des tests) et je vais lire studieusement ;-)

J’attends avec impatience vos réflexions, par ailleurs, et j'en profite pour rappeler mon souhait (au cas où un nouvel avis passerait par là):

Il faudrait que quand je saisis http://arandel.net/prod :

- soit ça se transforme en http://prod.arandel.net

- soit (le best pour moi) ça génère une 404

Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.